Laravel项目public目录下.htaccess是否安全?如何修复信息泄露风险?
解决Laravel项目.htaccess信息泄露问题
首先,你当前遇到的情况不正常——默认Apache服务器会阻止直接访问.htaccess文件,能在浏览器中看到文件内容才触发了ZAP的风险提示。
不需要移动.htaccess文件
Laravel的.htaccess本来就应该放在public目录下,它负责处理路由重写、Authorization头传递等核心功能,移动位置会导致项目路由失效。
修复方法:禁止直接访问.htaccess
在你现有的.htaccess文件最顶部添加以下规则,阻止外部访问该文件:
如果你的Apache版本是2.2及以下:
<Files .htaccess> Order Allow,Deny Deny from all </Files>
如果是Apache 2.4及以上(更推荐):
<Files .htaccess> Require all denied </Files>
添加后,再次访问http://127.0.0.1:8000/.htaccess会返回403禁止访问,ZAP的风险提示也会消失。
另外,你当前的.htaccess内容是Laravel的标准配置,没有包含敏感信息,但泄露配置文件本身违反安全最佳实践,所以必须做上述拦截处理。
内容的提问来源于stack exchange,提问作者Muhammad Imran
相关产品推荐
相关产品推荐

