.ENV文件可见

时间:2015-10-11 19:40:04

标签: php laravel-5.1 env

我正在使用Laravel 5.1

我最近在共享主机上传了我的项目。但当我浏览http://siteAddress.com/local/.env时,我的.env文件可见。

有没有办法隐藏此文件或重定向用户,如果他们想要浏览具有文件夹视图的网站?

4 个答案:

答案 0 :(得分:18)

最后,我隐藏.env并禁用名为local的文件夹的索引视图。我在文件夹.htaccess中创建了local

以下是.htaccess

的代码
# Disable index view
Options -Indexes

# Hide a specific file
<Files .env>
    Order allow,deny
    Deny from all
</Files>

答案 1 :(得分:10)

请创建一个.htaccess文件,其中包含.env文件并编写如下所示的代码:

# STRONG HTACCESS PROTECTION
<Files ~ "^.*\.([Ee][Nn][Vv])">
 order allow,deny
 deny from all
 satisfy all
</Files>

然后尝试从url点击.env文件,它将无法使用并显示内部代码。

如果你想从github中删除它。

请在同一目录中创建新文件.gitignore。

并添加行

.env

答案 2 :(得分:2)

.env文件位于public文件夹之外,因此如果服务器配置为将public文件夹视为文档根目录,则该文件不应在外部可见。

从最佳答案:

  

请记住,一旦您的服务器配置为查看公用文件夹   作为文档根目录,没有人可以查看一个级别的文件   该文件夹,表示您的.env文件已受到保护,如   你的整个申请。 - 这就是公共文件夹的原因   安全。 - 你可以看到的唯一目录   浏览器如果将文档根目录设置为公用文件夹则为   那里的文件夹,如样式和脚本。

https://laracasts.com/discuss/channels/general-discussion/how-do-you-protect-env-file-from-public

检查主机上的文件夹结构,确保public文件夹是文档根目录。

答案 3 :(得分:0)

您可以在.htaccess文件中添加以下代码以禁用目录列表并限制对.env文件的访问:

# 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>