【问题标题】:Nginx configuration to deny access to private Laravel foldersNginx 配置拒绝访问私有 Laravel 文件夹
【发布时间】:2016-03-06 01:15:45
【问题描述】:

关于 Laravel 上的 nginx 配置的每个答案或教程都有类似的内容:

location ~ \.php {
    # fastcgi stuff ...
}

如果 Laravel 框架有唯一的入口点(公众号index.php),是不是这个定义更准确?

location ~ index\.php {
    # fastcgi stuff ...
}

在您将应用部署到子文件夹的上下文中,第一个配置是允许访问每个 php 私有文件,即使我已经在私有文件夹上定义了 deny all 规则。

我有什么不对吗?

还有另一种方法来定义对文件夹的完全拒绝访问?

【问题讨论】:

    标签: laravel nginx laravel-4


    【解决方案1】:

    如果您想拒绝访问您的私人文件夹中的文件(例如/private),请将其添加到您的虚拟主机配置中:

    区分大小写

    location ~ ^/private/(.*)\.php$ {
        deny all;
    }
    

    不区分大小写:

    location ~* ^/private/(.*)\.php$ {
        deny all;
    }
    

    这会返回 403 对/private/something.php/private/something/something.php 等的所有请求。但对/private/something 的请求将起作用。

    【讨论】:

    • 太棒了。所以,这是完美的组合:文件夹location /private/ { deny all; } 和php 文件location ~* ^/private/(.*)\.php$ { deny all; }
    猜你喜欢
    • 1970-01-01
    • 2021-07-04
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 2013-10-08
    • 1970-01-01
    • 2013-07-17
    相关资源
    最近更新 更多