阻止公共访问env文件

Joh*_*rgo 6 php security laravel laravel-5

我刚刚发现Laravel 5可能输出敏感数据并可能导致许多主机的进一步利用:

https://www.google.com/search?q=intext%3ADB_PASSWORD+ext%3Aenv&gws_rd=ssl

我想知道保护.env文件的方法.我可以在.htaccess文件中使用以下代码来保护我的.env文件免受浏览器查看吗?

# Protect .env
<Files .env>
Order Allow,Deny
Deny from all
</Files>
Run Code Online (Sandbox Code Playgroud)

我上面的代码会.htaccess工作并保护我的.env文件吗?

Ame*_*lia 5

这不是一个漏洞,如果有人正确安装Laravel,它甚至不是远程问题 - webroot是public文件夹,而不是存储库/项目根目录.

.envlaravel中的配置文件和文件不包含在webroot中,因此您只需要确保您的webroot path/to/project/public.

您提供的Google查询实际上只是一群在安装Laravel之前未阅读文档的人.


koa*_*aok 0

恕我直言,保护配置文件不被浏览的最佳方法是将其放在公共目录之外。通过 .htaccess 保护它可能具有欺骗性,如果出现问题,您的文件将公开可用。