2017-01-19 38 views
0

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

回答

0

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

有一些事情可以做:

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

你不能把任何东西在你的.htaccess文件,将防止子目录中的.htaccess文件中被忽略,因为AllowOverride只有在目录范围内的作品,而不是在.htaccess上下文。