我试图让用户看不到可下载的 PDF 文档的 URL,这样他们就无法从其他任何地方访问它。我需要隐藏页面左下角的 URL(当他们将鼠标悬停在上面时)和他们打开浏览器地址栏时的 URL。我需要它在所有浏览器上工作。
我的 HTML 看起来像这样:
<a href="http://www.example.com/files/pdf/a34501.pdf">View PDF</a>
链接应该是这样的:
View PDF
原因是用户必须提供代码才能下载他们的文档,但是如果他们可以看到 URL,他们就可以轻松下载其他人的文档(他们只需要更改“a34501.pdf”部分中的一个数字).
我阅读了一些有关使用 JavaScript 函数加密 URL 或使用外部 PHP 文件的内容。但是,我不知道该怎么做。
谢谢。
隐藏 url 会让最不精通技术的用户感到困惑,但不会让任何愿意下载您的文件并且拥有非常少的技术知识的人感到困惑,如果您需要将文件隐藏在代码(或付费墙)后面,您可以使用一个对用户进行身份验证并吐出相应文件的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();
这假设您的文件实际位于服务器中,但如果您将它们放在数据库或任何其他存储介质中,则可以对其进行修改。当然,您必须首先验证用户是否有权下载该文件,但这取决于您。