0

我有一个在 Micrisoft IIS 7 服务器上运行的 PHP 应用程序。该应用程序在 iFrame 上显示 PDF 文件,其中包含用户的敏感数据,我不希望知道文件地址的任何人直接访问这些数据。

所以基本上,我正在寻找一种方法来保护文件不被浏览器直接访问或下载,但仍然能够在应用程序的 iFrame 上显示它。

我用重写规则做了一些研究,但是由于 iFrame 的“HTTP_REFERER”是空的,我找不到一个好的解决方案

对此有什么建议吗?提前致谢

4

1 回答 1

1

在没有看到您的任何代码或您的应用程序如何工作的情况下,我只能根据我认为您的应用程序的工作方式给出建议。

您应该考虑更改应用程序,以便 PHP 读取目录,显示文件名(无论您希望它们如何出现),并带有指向download.php页面的链接,而不是显示文件本身,以及直接指向这些文件的链接。下载页面(在检查用户是否有权下载文件之后)然后将文件加载到内存中并将其作为响应(带有适当的Content-DispositionContent-Type标题)提供。

由于您的 PHP 应用程序可以直接读取 web 目录中的文件,因此您可以设置重写规则以防止从 web 访问这些文件;这样,文件只能由 PHP 应用程序访问,它不依赖于重写规则来访问驱动器。

这就是像Source Forge这样的地方可以显示带有倒计时的广告的方式,您的文件下载将在 5 秒后开始。

于 2012-07-11T18:49:56.367 回答