我是laravel的新手,我知道.env文件用于存储数据库和电子邮件凭据。但是当我打开http://servername/.env时,.env文件内容显示在浏览器中。有没有机会保护我的数据库凭据,而不更改文件名为不可猜测的文件名?如果我使用.htaccess来阻止文件读取,这会对laravel框架产生负面影响吗?
.env
http://servername/.env
.htaccess
hmae6n7t1#
请在您的.htaccess文件中添加以下代码。它也适用于本地主机和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>
puruo6ea2#
您可能正在寻找如何阻止.env文件被apache服务,因此阅读。在/etc/apache2/apache.conf文件上执行此操作- Ubuntu。在文件的这一部分之后<FilesMatch "^\.ht">Require all denied</FilesMatch>添加下面的代码
/etc/apache2/apache.conf
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
# Hide a specific file <Files .env> Order allow,deny Deny from all </Files>
然后用sudo service apache2 restart重新启动你的apache服务器,享受吧!
sudo service apache2 restart
4ioopgfo3#
在生产领域中,应该指向laravel项目的公共文件夹,其中index.php文件是,一旦它完成,没有人可以访问.env文件。如果您正在上传项目以显示演示到客户端,请不要上传.env文件,您可以在.htaccesss文件中设置evn参数
.htaccess文件
SetEnv APP_ENV local SetEnv APP_DEBUG true SetEnv APP_KEY app_keyasfassafas SetEnv DB_HOST localhost SetEnv DB_DATABASE db_name SetEnv DB_USERNAME root SetEnv CACHE_DRIVER file SetEnv SESSION_DRIVER file SetEnv QUEUE_DRIVER sync
重要apache env_module应该被启用
zsohkypk4#
在您的.htaccess中在.htaccess的末尾通过下面的行
<Files .env> order allow,deny Deny from all </Files>
Laravel .htaccess文件选项-多视图-索引
RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule> <Files .env> <----------------at the end of .htaccess file order allow,deny Deny from all </Files>
4条答案
按热度按时间hmae6n7t1#
请在您的.htaccess文件中添加以下代码。它也适用于本地主机和Live服务器。
puruo6ea2#
您可能正在寻找如何阻止.env文件被apache服务,因此阅读。
在
/etc/apache2/apache.conf
文件上执行此操作- Ubuntu。在文件的这一部分之后<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
添加下面的代码
然后用
sudo service apache2 restart
重新启动你的apache服务器,享受吧!4ioopgfo3#
在生产领域中,应该指向laravel项目的公共文件夹,其中index.php文件是,一旦它完成,没有人可以访问.env文件。如果您正在上传项目以显示演示到客户端,请不要上传.env文件,您可以在.htaccesss文件中设置evn参数
.htaccess文件
重要apache env_module应该被启用
zsohkypk4#
在您的.htaccess中
在.htaccess的末尾通过下面的行
Laravel .htaccess文件
选项-多视图-索引