好吧,也许我忽略了一些事情。但我们确实有一个大问题。我们的 Laravel 日志
(storage/log/laravel.log)
是可公开访问的。
人们访问日志的方式是当他们访问
domain.com/storage/log/laravel.log
.
我找不到真正的解决方案,但我确信这不是每个人都面临的问题。我希望有人能帮助我。
这表明您网站的 Web 根目录配置不正确,这是 Laravel 应用程序中的一个“重大漏洞”,其原因不仅仅是公共日志文件。您网站的文档根目录应该是 Laravel 项目的 public/
子目录,而不是
项目文件夹本身。例如,如果您的 Laravel 项目的代码位于
/var/www/example.com/
,那么您的 Apache DocumentRoot 应该是 /var/www/example.com/public
。
对于 Nginx,指令为
root /var/www/example.com/public;
对于 IIS,“物理路径”设置类似于
C:\inetpub\wwwroot\example.com\public
如果您的托管提供商使用控制面板,请查看文档根目录的设置。
请勿将 Laravel 应用程序放置在可公开访问的文件夹中(cpanel 服务器的 public_html 文件夹)。它会导致安全问题并提供对您凭据的访问。
在tour htaccess 中试试这个
<FilesMatch "(env|json|lock|css|js|log|xml|yaml|sqlite)">
Order allow,deny
Deny from all
</FilesMatch>
如果您想阻止直接访问文件夹
Order Allow,Deny
Deny from all