使用 .htaccess 保护目录

使用 .htaccess 保护目录

不幸的是,在我推出的一款产品中,黑客发现他们可以访问我存放 zip 文件的不受保护的目录。我使用 PHP 通过 readfile() 提供这些 zip 文件,因此在我的应用程序中,人们通常无法通过 URL 访问这些文件。因此,为了解决这个问题,我在该目录中放置了一个空白的 index.php 文件。问题是,在论坛上看到实际 zi​​p 文件名的人只需输入 URL 即可下载它,不幸的是,我的产品交付系统很复杂,不允许我更改该 URL 的名称。

我如何在该目录中创建一个 .htaccess 文件,以便人们无法通过 URL 从中下载任何内容,但允许我的 PHP readfile() 代码继续通过强制下载提供该文件?即使您只是猜测——我现在正在接受任何建议。我会继续尝试,直到在这里找到可行的方法。

再次强调,我只需要阻止浏览器直接访问人们在论坛上阅读的特定 zip 文件 URL。我认为通过文件系统而不是 Web 访问运行的 PHP readfile() 代码将继续正常工作。

答案1

如果您正在使用readfile(),您可以将文件放在 htdocs 目录之外的任何位置,然后在那里通过 php 访问它们(确保 (php) 用户可以读取它们)。

或者(如果你必须把它们放在那里)你可以添加.htaccess

Order deny,allow
Deny from all

这将拒绝所有人(通过浏览器)访问,但 php(作为本地运行的服务)仍然可以通过 访问它readfile()

相关内容