如何在子文件夹中生成.htaccess文件不执行?

时间:2017-01-19 08:55:02

标签: php apache .htaccess mod-rewrite cloud

我正在创建一个云存储项目,我希望用户能够上传任何文件。特别是,我希望人们能够上传.htaccess个文件,但我不希望Apache使用这些文件,因为这是一个安全问题。如何在父文件夹中使用我自己的.htaccess文件的同时阻止Apache使用用户上传的文件?

1 个答案:

答案 0 :(得分:0)

This question阅读很有帮助。首先应用www-root附近的指令,稍后使用子文件夹,可能会覆盖以前的设置。

您可以做一些事情:

  • 根本不使用.htaccess文件,甚至不使用其他目录。如果您有专用服务器,则可以编辑服务器配置文件,这样效率更高。它将允许您设置AllowOverride None,这将阻止Apache完全使用.htaccess文件。相反,您可以通过将规则放在服务器配置文件中来完成相同的操作。每次进行更改时都需要重新启动Apache,并且在服务器配置文件中出错将阻止Apache在修复之前启动。
  • 将文件存储为没有扩展名的随机字符,使其无法直接访问任何文件,而是依靠数据库将文件名映射到文件。这允许您安全地存储文件,而不是将所有内容都转储到数据库中。

您不能在.htaccess文件中放置任何会阻止子目录中的.htaccess文件被忽略的内容,因为AllowOverride仅适用于目录上下文,而不适用于.htaccess上下文。