在我的 .htaccess 文件中,我一直在尝试弄清楚是否应该使用:
选项 无
这当然会禁用所有额外的选项,但我一直在阅读有关使用“Options None”的不同意见,因为有些人声称需要 +FollowSymlinks 来获得更好的安全性和性能,而有些人声称 FollowSymlinks 存在很大的安全风险。
为了获得更好的安全性我是否应该使用“选项无”?
谢谢!
答案1
出于安全考虑,请考虑禁用所有 .htaccess,除非您的网站有必要这样做。(AllowOverride 无) 然后,您可以在 Apache 的配置中全局设置您的选项。
话虽如此,符号链接不一定是坏事,但您必须清楚了解 Apache 的实现。对于非 chrooted Apache,符号链接肯定会带来很大的风险,可能会暴露文档根目录之外的文件。
答案2
Options None
提供更高的安全性,因为这样就没有机会通过符号链接获取文档根目录之外的访问权限。
它可能对性能有边际影响。我必须检查,但通过禁止符号链接,apache 可能必须lstat
先确定每个文件是否是符号链接。
你能引用这些来源来声称允许符号链接会带来更好的安全性和性能吗?
编辑:但是,请注意,禁止符号链接并非万无一失。Apache 手册说“忽略此选项不应被视为安全限制,因为符号链接测试受竞争条件影响。”也就是说,在说它lstat
不是链接和 Apache 读取它之间,有人可能已经将其变成了链接。