.ENV文件可见

问题描述 投票:10回答:4

我正在使用Laravel 5.1

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

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

php laravel-5.1 env
4个回答
18
投票

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

这是.htaccess的代码

# Disable index view
Options -Indexes

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

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
投票

.env文件位于public文件夹之外,因此如果服务器配置为将public文件夹视为文档根目录,则不应从外部世界看到它。

从最好的答案:

请记住,一旦您的服务器配置为将公用文件夹视为文档根目录,没有人可以查看该文件夹下一级的文件,这意味着.env文件已经受到保护,以及整个应用程序。 - 这就是公共文件夹存在的原因,安全性。 - 如果将文档根目录设置为公用文件夹,则可以在浏览器中看到的唯一目录是存在的文件夹,如样式和脚本。

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

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


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>
© www.soinside.com 2019 - 2024. All rights reserved.