防止从站点下载 PDF 文件

Prevent download of PDF file from site

我使用 Plesk 面板将文件存储在服务器中,目前,拥有我站点 link 的任何人都可以访问并下载该文件。

有什么办法可以阻止所有用户下载吗?

一般的做法是创建一个不在网站根文件夹中的文件夹。换句话说,您不允许也没有有效的 URL 到文件夹。这确实意味着你必须构建某种类型的网页,可以说列出一些文件和一个按钮来点击下载这些文件。

换句话说,不存在有效的 url。这往往表明您有某种类型的网格或文件显示。通常甚至使用数据库 table 来驱动这样的显示。

当用户点击该网格行上的某个按钮时,后面的代码可以获取文件,并将其“流式传输”给用户。因此,最终结果是不存在有效的 url 或文件的可解析路径。

另外,从 IIS 中关闭目录浏览。因此再次没有有效的 URL 文件存在。

另一种方法?您可以构建自定义 http 处理程序。这种方法很常见。这样,任何以 .pdf 结尾的 url 都将被捕获,因此是不允许的。如前所述,这再次意味着您必须提供一个文件“列表”和一个下载按钮 - 然后您可以再次从服务器流式传输文件。

所以有很多方法,但最终,我作为一般规则不允许 URL 下载甚至访问文件。我总是提供某种网页,以及供用户选择的列表。背后的代码是实际获取文件,然后将其流式传输到浏览器的代码。

所以,你可以 在 asp.net

中搜索如何为 pdf 文件构建自定义 http 处理程序

搜索如何将文件流式传输给 asp.net

中的用户

如何在 IIS 中关闭目录浏览。

这里有很多选项 - 实际上太多了,无法真正 post 并在 Stack Overflow 答案中进行解释。