参见英文答案 > how to hide the actual download folder location 3个
我试图让可下载的PDF文档的URL对用户不可见,这样他们就无法从其他任何地方访问它.我需要隐藏页面左下角(当鼠标悬停时)和浏览器地址栏中的URL打开时的URL.我需要它在所有浏览器上工作.
我的HTML看起来像这样:
链接应如下所示:
原因是用户必须提供能够下载文档的代码,但如果他们能够看到URL,他们可以轻松下载其他人的文档(他们只需要更改“a34501.pdf”部分中的数字).
我读了一些关于使用JavaScript函数加密URL或使用外部PHP文件的内容.但是,我不知道该怎么做.
谢谢.
解决方法:
隐藏网址会让最不懂技术的用户感到困惑,但不是任何愿意下载文件且技术知识非常少的人,如果你需要隐藏代码(或付费墙)背后的文件,你可以使用PHP脚本验证用户并吐出相应的文件,一个小例子是这样的:
if($validUser)
{
$path = $fileName;
$size = filesize($path);
$fp = fopen($path, "rb");
$content = fread($fp, $size);
fclose($fp);
header("Content-length: ".$size);
header("Content-type: application/octet-stream");
header("Content-disposition: attachment; filename=".$fileName.";" );
echo $content;
}
exit();
这假定您在服务器中具有物理文件,但如果您在数据库或任何其他存储介质中具有这些文件,则可以对其进行修改.当然,您必须首先验证用户是否有权下载该文件,但这取决于您.
标签:html,javascript,php
来源: https://codeday.me/bug/20191001/1838412.html