Php .ENV文件可见

Php .ENV文件可见,php,laravel-5.1,env,Php,Laravel 5.1,Env,我使用的是Laravel 5.1 我最近在共享主机中上传了我的项目。但是当我浏览http://siteAddress.com/local/.envmy.env文件可见 如果用户希望使用文件夹视图浏览站点,是否有任何方法隐藏此文件或重定向用户?文件位于公用文件夹之外,因此,如果服务器配置为将公用文件夹视为文档根目录,则从外部看不到该文件 从最佳答案来看: 请记住,一旦服务器配置为查看公用文件夹 作为文档根目录,没有人可以查看下一级的文件 该文件夹,这意味着您的.env文件已受保护,如下所示 好吧,

我使用的是Laravel 5.1

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


如果用户希望使用文件夹视图浏览站点,是否有任何方法隐藏此文件或重定向用户?

文件位于
公用文件夹
之外,因此,如果服务器配置为将
公用文件夹
视为文档根目录,则从外部看不到该文件

从最佳答案来看:

请记住,一旦服务器配置为查看公用文件夹 作为文档根目录,没有人可以查看下一级的文件 该文件夹,这意味着您的.env文件已受保护,如下所示 好吧,你的整个申请书这就是公用文件夹的原因 有安全措施吗您可以在中看到的唯一目录 浏览器如果将文档根目录设置为公用文件夹,则为 存在的文件夹,如样式和脚本


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

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

这是
.htaccess

# Disable index view
Options -Indexes

# Hide a specific file
<Files .env>
    Order allow,deny
    Deny from all
</Files>
#禁用索引视图
选项-索引
#隐藏特定文件
命令允许,拒绝
全盘否定

请在有.env文件的地方创建一个
.htaccess
文件,并按如下所示编写代码:

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

您可以在.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>
#禁用目录列表
选项-索引
#阻止需要隐藏的文件,请指定该文件的扩展名示例
命令允许,拒绝
全盘否定

我的项目中没有
公用
文件夹。我将所有文件从公用文件夹移动到根目录,并将其他文件和文件夹移动到另一个名为
local
(由我创建)的文件夹中@乐意Help@smartrahat,你做错了。您已转换公用文件夹中的根文件夹,公开了所有敏感文件data@manix,我这样做是为了在我的网站地址之后去掉
/public
。有没有办法用当前的文件结构来保护它们?@smartrahat,恐怕你真的做错了-它没有得到保护,因为它不是按你希望的方式使用的。从理论上讲,也许你可以用htaccess来做,但你真正应该做的是与你的主机交谈,帮助你正确设置结构,或者找一个你对事情有更多控制权的主机。@GladToHelp如果使用共享主机,他并没有做错。在我看来,他是这样做的:如果使用根域,你必须这样做,否则,如何将主域指向Cpanel上的子文件夹(public)?你不能。听起来像是缺少
.htaccess
文件。我的根目录中有一个
.htaccess
文件。它正在工作@HannesNow检查您公开的所有其他文件,并将它们添加到.htaccess文件中,以便无法访问它们。嗯,对我不起作用。Brave您能否确认此正则表达式是否也可以捕获名为.env.test或.env.development.local的.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>