如何使用共享主机保护 Laravel 中的 .env 文件

如何使用共享主机保护 Laravel 中的 .env 文件

如果你在 Laravel 项目中使用共享主机,并且 .env 文件可以在 URL 中访问。然后我们需要使用 .htaccess 保护它,这样没有人可以看到您的应用程序凭据。

有时,如果我们使用共享主机,.ENV则可以在浏览器中访问该文件可能是因为您的服务器配置。但隐藏它的最简单方法是在.htaccess配置中。

打开您的public/.htaccess文件并添加以下行。

<FilesMatch ".env">
    Order allow,deny
    Deny from all
</FilesMatch>

这是完整的.htaccess代码。

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    <FilesMatch ".env">
        Order allow,deny
        Deny from all
    </FilesMatch>

    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]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>