PHP包含文件防护:/includes目录添加Deny from all是否有负面影响?
关于PHP包含文件防护与.htaccess配置的疑问解答
Great question! Let’s walk through this step by step to clear up your concerns:
先确认你的核心防护已经很可靠
把需要保护的PHP包含文件放在/public_html(web根目录)之外,这本身就是业界推荐的最佳安全实践。因为web服务器只会处理/public_html下的请求,外部用户根本无法直接访问到/includes目录里的文件——连请求路径都不存在,所以这已经是一道非常坚固的安全防线了。
关于给/includes加Deny from all的.htaccess
你完全可以添加这个配置,而且绝对不会影响你自己通过PHP的include/require访问这些文件,原因有两个:
- 首先,
/includes不在web根目录下,默认情况下web服务器根本不会读取这个目录的.htaccess文件,也不会把它作为web可访问路径处理。所以这个配置对PHP的文件系统级读取(也就是你用../includes/file.php的方式)没有任何影响,PHP是直接从服务器的文件系统读取文件,不走web请求流程。 - 退一万步讲,就算未来服务器配置出现失误,导致
/includes被意外暴露为web可访问路径,这个.htaccess会立刻阻止所有外部请求,相当于给你加了第二道安全保险,只会提升安全性,没有任何负面作用。
总结
你的现有防护措施已经很到位,添加这个.htaccess属于“安全冗余加固”,完全不用担心会影响自身的正常使用,放心配置就好。
内容的提问来源于stack exchange,提问作者Martoof
相关产品推荐
相关产品推荐

