插件窝 干货文章 Nginx怎么禁止访问.php文件

Nginx怎么禁止访问.php文件

Nginx 配置 php 方法 565    来源:    2025-04-24

在Nginx中禁止访问.php文件的方法

要在Nginx中禁止访问.php文件,你可以使用以下几种方法:

方法1:使用location指令禁止访问

在Nginx配置文件中添加以下内容:

location ~ \.php$ {
    deny all;
    return 403;
}

方法2:如果不需要执行PHP,完全禁用PHP处理

location ~ \.php$ {
    # 直接返回404而不是403,让攻击者无法确认服务器是否支持PHP
    return 404;
    # 或者更彻底地关闭所有PHP文件的访问
    # deny all;
}

方法3:结合try_files防止直接访问

location ~ \.php$ {
    try_files $uri =404;
    # 或者直接拒绝
    deny all;
}

方法4:在特定目录下禁止PHP访问

如果你只想禁止某个目录下的PHP访问:

location /protected-folder/.*\.php$ {
    deny all;
    return 403;
}

应用配置后

修改配置后,需要重新加载Nginx配置:

sudo nginx -t  # 测试配置是否正确
sudo systemctl reload nginx  # 或 sudo service nginx reload

注意事项

  1. 确保这些配置不会影响你网站的正常PHP功能(如果有的话)
  2. 如果你确实需要运行PHP脚本,不要使用这些配置
  3. 403错误会明确告诉用户访问被禁止,而404错误则更隐蔽
  4. 考虑将这些规则与现有的安全配置(如限制HTTP方法)结合使用

选择哪种方法取决于你的具体需求和服务器配置。