Nil*_*hod 4 php security laravel laravel-5.4
我正在使用laravel 5.4.我有.env和composer.json文件的问题.任何人都可以从任何浏览器访问,任何人都可以看到我的数据库凭据,所以请帮助我保护这些文件.
小智 7
您可以将以下代码添加到.htaccess(确保您的.htaccess文件应该在根文件夹中不在公共文件中)以拒绝.env文件的权限
<FilesMatch "^\.env">
Order allow,deny
Deny from all
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
小智 6
请记住,将服务器配置为将公用文件夹视为文档根目录后,没有人可以查看该文件夹下一级的文件,这意味着您的.env文件以及整个应用程序都已受到保护。-这就是公用文件夹在那里的原因,安全性。-如果您将文档根目录设置为公用文件夹,则在浏览器中只能看到的目录就是那里的文件夹,如样式和脚本。
您可以像这样进行测试:
使用终端输入您的项目目录,然后单击以下命令:
php -t public -S 127.0.0.1:80
Run Code Online (Sandbox Code Playgroud)
-t表示文档根目录,PHP内置的Web服务器将其中的解释器解释为文档根目录。-参见波纹管:
-t <docroot> Specify document root <docroot> for built-in web server.
Run Code Online (Sandbox Code Playgroud)
现在尝试访问该.env文件,您会看到将得到一个404表示资源未找到。
当然,这只是一个示例,您将需要配置服务器以执行相同的操作。
只需将以下代码添加到.htaccess文件即可设置.env和composer.json文件的权限。
<Files .env>
Order allow,deny
Deny from all
</Files>
<Files composer.json>
Order allow,deny
Deny from all
</Files>
Run Code Online (Sandbox Code Playgroud)
和下面的行禁用目录浏览
Options All -Indexes
Run Code Online (Sandbox Code Playgroud)