php - 拒绝访问 PHP 文件 (Nginx)

标签 php linux ubuntu nginx webserver

我想让 Nginx 拒绝访问特定的 PHP 文件,我们称它为 donotexposeme.php,但它似乎不起作用,PHP 脚本照常运行。这是我在配置文件中的内容:

location / {
    root /var/www/public_html;
    index index.php;
}

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /var/www/public_html$fastcgi_script_name;
    include fastcgi_params;
}

location /donotexposeme.php {
    deny all;
}

当然,每次我编辑配置时,我都会执行sudo service nginx reload(或restart)。

最佳答案

nginx 确定哪个位置匹配的顺序可以在这里找到:

http://wiki.nginx.org/HttpCoreModule#location

使用其中任何一个都将在任何其他正则表达式之前进行匹配:

location = /donotexposeme.php

或者

location ^~ /donotexposeme\.php

前者是精确匹配,后者是正则表达式前缀匹配。

关于php - 拒绝访问 PHP 文件 (Nginx),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13661406/

相关文章:

c - 自由指针使用的长度值(整数)

php - 在我的 PHP 站点中发布值返回 null

php - 回合制游戏的最佳 Android 后端?

PHP:延迟解析页面源代码(通过 file_get_html())1 秒

java - 使用 WinSCP 每天在特定时间运行 JAR 文件

linux - 将 Xargs max-procs 与文件中的多个参数一起使用

ubuntu - 如何远程配置 Jenkins?

bash - Docker:bash 终端在没有提示的情况下启动

具有电子邮件功能的 PHP Basecamp 回复

php - 如何创建 PHP 登录表单重定向回保留 $_POST 和 $_GET 的页面