如何禁用.env文件读取?

Nik*_*kko 0 laravel laravel-5

我是laravel的新手,我知道该.env文件用于存储数据库和电子邮件凭证。但是,当我打开http://servername/.env.env文件内容显示在浏览器中。

是否有机会在不将文件名更改为不可猜测的情况下保护我的数据库凭据?

如果我要.htaccess防止文件读取,这会对laravel框架产生负面影响吗?

小智 6

请在您的.htaccess文件中添加以下代码。它也可以在localhost和Live服务器中使用。

# Disable Directory listing
Options -Indexes

# block files which needs to be hidden, specify .example extension of the file
<Files ~ "\.(env|json|config.js|md|gitignore|gitattributes|lock)$">
    Order allow,deny
    Deny from all
</Files>
Run Code Online (Sandbox Code Playgroud)

  • 在 /etc/apache2/apache.conf 上为我全局工作...谢谢! (3认同)

dan*_*rui 5

您可能正在寻找如何停止在 apache 上提供 .env 文件,因此请阅读。

在文件上执行此操作/etc/apache2/apache.conf- Ubuntu. 在该文件的这一部分之后
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>

添加下面的代码

# Hide a specific file
<Files .env>
    Order allow,deny
    Deny from all
</Files>
Run Code Online (Sandbox Code Playgroud)

然后重新启动你的 apache 服务器并sudo service apache2 restart享受吧!