php - 隐藏下载网址

标签 php javascript html

<分区>

我试图让用户看不到可下载的 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();

这假设您的文件实际位于服务器中,但如果您将它们放在数据库或任何其他存储介质中,则可以对其进行修改。当然,您必须首先验证用户是否有权下载该文件,但这取决于您。

关于php - 隐藏下载网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17533806/

相关文章:

javascript - 如何将多个变量从 PHP 传递到外部 js 文件?

javascript - JavaScript 的 OpenFrameworks 替代品

javascript - 强制元素永远不会失去对 HTML 的关注?

php - 从二维数组的子数组中删除 "columns"

php - 我的查询没有找到结果

javascript - 如何在使用 D3.js 放大时删除非整数刻度?

javascript - Aexchart 标记溢出错误

jquery - 如何检测 div 中图像的 url 并将其附加到另一个 div HTML

html - 元素不使用边距居中 : auto

php - 使用 CodeIgniter 和 MySQL 按列名排序