在生产中的 /var/www/ 目录中全部设置 AllowOverride 是否安全?

Is it safe to set AllowOverride all on /var/www/ directory in production?

默认Apache配置文件(/etc/apache2/apache2.conf)如下:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

我们可以将 AllowOverride 设置为 All,以允许覆盖每个目录的 Apache 配置。我想知道这是否会导致安全问题。

除了允许在 public 文档根目录中修改配置会带来明显的安全问题外,还会对性能产生影响。 AllowOverride 发生的事情是 Apache 将从请求的文件开始对每个父目录执行 open() 调用。

安全问题?好吧,如果黑客获得了 DOC ROOT,那你就完蛋了。

但是关闭 AllowOverride 的请求的执行时间是打开 AllowOverride 的请求的 60%。相反,在 .htaccess 中进行这些更改并将它们放入您的 httpd 配置文件中通常会更好。

然而,.htaccess 为您提供了最大的灵活性,让您可以控制您的网站行为,身份验证需要无需在 Apache 配置中进行这些更改并每次重新启动它。特别是在共享主机环境中,网站所有者甚至无法访问 Apache 配置。