【问题标题】:Laravel: .env file showing for some domainLaravel:显示某些域的 .env 文件
【发布时间】:2022-01-11 22:43:31
【问题描述】:

我在 laravel 上做了一些不同版本的项目,比如 5.0、5.6 我的 .env 文件放在根文件夹中,并且 .env 代码是公开可见的。

我使用下面的代码在 htaccess 中隐藏 .env 文件

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

以上代码在 myproject.io 等域中工作,但在 project.ai 中不工作

请帮帮我 提前致谢

【问题讨论】:

  • 您在同一个域中有多个应用程序还是只有一个?另外,你把.htaccess 文件放在哪里了?
  • @RossWilson 嗨,所有应用程序都在不同的域中,我的 htaccess 位于根文件夹中
  • 这两个域有什么区别?

标签: laravel .htaccess


【解决方案1】:

另一个替代方法是使用以下代码更新您的根 .htaccess:

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

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} -d [OR]
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ ^$1 [N]

    RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
    RewriteRule ^(.*)$ public/$1 

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ server.php

</IfModule>

【讨论】:

    【解决方案2】:

    您是否尝试保护所有 dot(.) 文件?

    在 nginx 中

    # Block dot files
    location ~ /. {
        deny  all;
    }
    

    阿帕奇

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-05
      • 2012-07-26
      • 2013-07-28
      相关资源
      最近更新 更多