【问题标题】:How can I make .htaccess files in a subfolder not execute?如何使子文件夹中的 .htaccess 文件不执行?
【发布时间】:2017-01-19 08:55:01
【问题描述】:

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

【问题讨论】:

    标签: php apache .htaccess mod-rewrite cloud


    【解决方案1】:

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

    你可以做一些事情:

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

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

    【讨论】:

      猜你喜欢
      • 2015-01-21
      • 1970-01-01
      • 2014-12-19
      • 2014-07-23
      • 2012-09-14
      • 2019-06-04
      • 2012-08-10
      • 2021-09-16
      • 1970-01-01
      相关资源
      最近更新 更多