Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >nginx禁止访问php的各种形式

nginx禁止访问php的各种形式

作者头像
友儿
发布于 2023-10-21 05:54:50
发布于 2023-10-21 05:54:50
1.1K00
代码可运行
举报
文章被收录于专栏:友儿友儿
运行总次数:0
代码可运行
禁止访问PHP脚本可以通过Nginx服务器配置中的多种方式来实现。以下是其中的一些常见方法,您可以根据实际需求选择合适的方式:

禁用PHP解析(在Nginx配置中,确保PHP脚本无法被解析,从而禁止PHP执行。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location ~ \.php$ {
deny all;
}

限制访问路径(限制只允许访问特定路径下的PHP脚本,其他路径禁止。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location /public {
  # 允许访问 /public 下的 PHP 脚本
  location ~ \.php$ {
  fastcgi_pass unix:/var/run/php-fpm.sock;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }
}
# 禁止访问其他路径的 PHP 脚本
location ~ \.php$ {
  deny all;
}

使用HTTP Basic认证(要求用户提供用户名和密码以访问PHP脚本。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location ~ \.php$ {
  auth_basic "Restricted";
  # 使用 htpasswd 生成密码文件
  auth_basic_user_file /etc/nginx/.htpasswd;
# ...
}

IP地址访问控制(限制只有特定的IP地址可以访问PHP脚本)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location ~ \.php$ {
  allow 192.168.1.1; # 允许的 IP 地址
  deny all; # 禁止其他 IP 地址
  # ...
}

Referer 检查(检查HTTP Referer头,只允许特定来源的请求。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location ~ \.php$ {
  valid_referers none blocked example.com; # 允许的 Referer
  if ($invalid_referer) {
  return 403; # 拒绝无效的 Referer
  }
  # ...
}

User-Agent检查(检查User-Agent头,只允许特定User-Agent访问。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location ~ \.php$ {
  if ($http_user_agent ~* (bad-agent|another-bad-agent)) {
  return 403; # 拒绝不良 User-Agent
  }
  # ...
}

URL匹配(通过正则表达式匹配URL,只允许特定URL访问PHP。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location ~ \.php$ {
  if ($request_uri ~* ^/allowed-path/) {
      # 允许的 URL 路径
      # ...
  }
  return 403; # 其他路径禁止
}

文件类型匹配(只允许特定文件类型的PHP文件执行。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location ~ \.php$ {
  if ($request_filename ~* \.php$) {
          # 允许的文件类型
          # ...
  }
  return 403; # 禁止其他文件类型
}

设置文件权限(通过文件系统的权限设置,限制PHP脚本的访问。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location ~ \.php$ {
  # 设置文件的访问权限为 600 或更高
  # ...
}

利用Nginx的map模块(使用Nginx的map模块来根据条件禁止PHP访问。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
map $remote_addr $php_disabled {
  default 0;
  192.168.1.1 0; # 允许的 IP 地址
  ~^192\.168\.2\. 1; # 允许的 IP 地址范围
}
location ~ \.php$ {
  if ($php_disabled) {
  return 403; # 禁止访问
}
  # ...
}

利用Nginx的geo模块(使用Nginx的geo模块根据地理位置禁止PHP访问。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
geo $allowed_country {
  default 0;
  US 1; # 允许的国家或地区
  CA 1;
}

location ~ \.php$ {
  if ($allowed_country = 0) {
      return 403; # 禁止访问
  }
  # ...
}

禁止特定HTTP方法 (限制只有特定的HTTP方法可以访问PHP脚本)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location ~ \.php$ {
  if ($request_method !~ ^(GET|POST)$) {
      return 403; # 禁止其他方法
  }
  # ...
}

限制访问时间(限制只有在特定时间段内可以访问PHP脚本。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location ~ \.php$ {
  if ($time_iso8601 !~ "T(08|09|10|11|12|13):") {
      return 403; # 限制访问时段
  }
  # ...
}

HTTP访问速率限制(限制访问速率以减轻服务器负载。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location ~ \.php$ {
  limit_req zone=mylimit burst=5 nodelay;
  limit_req_status 403;
  # ...
}

使用Nginx内置变量(使用Nginx的内置变量结合条件语句来根据特定条件禁止PHP访问。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location ~ \.php$ {
  if ($http_cookie ~* "adminuser=") {
      return 403; # 如果包含特定 Cookie
  }
  # ...
}
请注意,上述方法可以单独使用或组合使用,具体的选择取决于您的安全需求和服务器配置。同时,确保在配置中使用适当的测试和调试方法,以确保您的 Nginx 服务器按照预期运行。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Nginx防盗链+Nginx访问控制+Nginx解析php相关配置+Nginx 代理
一、Nginx防盗链: 1.1 打开配置文件: /usr/local/nginx/conf/vhost/haha.com.conf 增加如下配置文件: location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.haha.com ; if ($invalid_referer) {
老七Linux
2018/05/09
1.2K0
Nginx 之访问认证
我们都知道,Web 服务器程序部署成功并启动之后,都是可以公开访问的,要想控制成只有部分人可以访问必然需要配置一下访问认证,实现访问认证的方法有很多,主要有两种:Flask-OAuth 和 Nginx,Flask-OAuth 以前讲过,今天我就来讲一下 Nginx 配置访问认证。这里以配置 Scrapyd 的访问认证为例进行讲解。
不可言诉的深渊
2020/02/11
3.2K0
Nginx 之访问认证
超实用 nginx 中常见的配置合集
✨ 封禁 IP 通过 deny 可以封禁指定 IP http { # .... # 封禁IP deny 192.168.4.3; deny 31.42.145.0/24; deny 51.12.35.0/24; } ✨ 仅开放内网 需要先禁止 192.168.1.1 开放其他内网网段,然后禁止其他所有 IP location / { # block one workstation deny 192.168.1.1; # allow anyone in 192.168.
江户川码农
2022/07/19
1K2
超实用 nginx 中常见的配置合集
Nginx配置记录
Contents 1 Nginx配置记录 1.1 防盗链 1.2 根据文件类型设置过期时间 1.3 静态资源访问 1.4 日志配置 1.4.1 日志字段说明 1.4.2 access_log 访问日志 1.4.3 error_log 日志 1.4.4 日志切割 1.5 反向代理 1.6 禁止指定user_agent 1.7 nginx访问控制 1.8 负载均衡 1.9 开启SSL 1.10 流量限制 1.11 错误页配置 Nginx配置记录 防盗链 location ~* \.(gif|jpg|png)$
w候人兮猗
2020/07/01
4750
Nginx配置段(3)
安装方法: rpm及源码安装: # ./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --user=nginx --group=nginx --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path
py3study
2020/01/10
6260
linux学习第四十六篇:Nginx防盗链,Nginx访问控制,Nginx解析php相关配置,Nginx代理
Nginx防盗链 vim /usr/local/nginx/conf/vhost/test.com.conf 配置如下,可以和上面的配置结合起来: location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.test.com ; //定义白名单 if ($invalid_re
用户1215343
2018/02/05
1.7K0
linux学习第四十六篇:Nginx防盗链,Nginx访问控制,Nginx解析php相关配置,Nginx代理
htaccess简介和16个小技巧
Unix、Linux系统或者是任何版本的Apache Web服务器都是支持.htaccess的,但是有的主机服务商可能不允许你自定义自己的.htaccess文件。
用户7657330
2020/08/14
1.6K0
Nginx网站使用CDN之后禁止用户真实IP访问的方法
做过面向公网 WEB 运维的苦逼们肯定见识过各种恶意扫描、拉取、注入等图谋不轨行为吧?对于直接对外的 WEB 服务器,我们可以直接通过 iptables 、 Nginx 的 deny 指令或者是程序来 ban 掉这些恶意请求。 而对于套了一层 CDN 或代理的网站,这些方法可能就失效了。尤其是个人网站,可能就一台 VPS,然后套一个免费的 CDN 就行走在互联网了。并不是每个 CDN 都能精准的拦截各种恶意请求的,更闹心的是很多 CDN 还不支持用户在 CDN 上添加 BAN 规则,比如腾讯云 CDN。。。
张戈
2018/03/21
6.1K0
Nginx网站使用CDN之后禁止用户真实IP访问的方法
Nginx防盗链,Nginx访问控制,Nginx解析php相关配置, Nginx代理
Nginx防盗链: vim /usr/local/nginx/conf/vhost/test.com.conf    = 默认虚拟主机配置防盗链 #防盗链核心配置 location ~* ^.+\.(
叶瑾
2018/06/14
8400
Nginx 更多模块详解(十)
ngx_http_auth_basic_module模块 详细说明请参考官网 地址链接
咻一咻
2020/05/29
5280
nginx rewrite伪静态配置参数详解
nginx rewrite 伪静态配置参数和使用例子 附正则使用说明 正则表达式匹配,其中: * ~ 为区分大小写匹配 * ~* 为不区分大小写匹配 * !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配,其中: * -f和!-f用来判断是否存在文件 * -d和!-d用来判断是否存在目录 * -e和!-e用来判断是否存在文件或目录 * -x和!-x用来判断文件是否可执行 flag标记有: * last 相当于Apache里的[L]标记,表示完成rewrite * br
用户2135432
2018/06/04
3.4K0
学习笔记0516----nginx配置
在Nginx中也有默认虚拟主机,跟httpd类似,第一个被Nginx加载的虚拟主机就是默认主机,但和httpd不相同的地方是,它还有一个配置用来标记默认虚拟主机,也就是说,如果没有这个标记,第一个虚拟主机为默认虚拟主机。
嘻哈记
2020/11/24
1.1K0
12.14 Nginx访问控制
Nginx访问控制目录概要 需求:访问/admin/目录的请求,只允许某几个IP访问,配置如下: location /admin/ { allow 192.168.74.129; allow 127.0.0.1; deny all; } mkdir /data/wwwroot/test.com/admin/ echo “test,test”>/data/wwwroot/test.com/admin/1.html -t && -s reload curl -x127.0.0.1:80
运维小白
2018/02/06
3.1K0
【Nginx16】Nginx学习:访问认证及过滤器模块
结束了 HTTP 核心模块的学习,我们就进入到了扩展模块,按文档顺序,我们先来了解的就是 访问限制 与 认证 相关的模块,此外,还有一个过滤模块。这几个模块还是非常有意思的,特别是过滤模块可以给返回的内容前后增加内容,非常像我们套模板时会分离出来的头尾模板一样。而认证类的则是 HTTP Basic 相关的内容,之前在学习 PHP 相关的小文章时也有过接触。总体来说,难度不大,赶紧玩起来吧。
硬核项目经理
2023/09/07
1.1K0
【Nginx16】Nginx学习:访问认证及过滤器模块
nginx 进行正则匹配(常见正则匹配符号表示)
今天遇到网站之前的url被百度搜索引擎抓取,需要在服务中进行301强制跳转,(如访问:www.baidu.com/kenni-1,www.baidu.com/kenni-1/,两个统一跳转到www.b
botkenni
2019/09/09
36.3K0
20步打造最安全的Nginx Web服务器(下)
八、控制缓冲区溢出攻击 编辑nginx.conf,为所有客户端设置缓冲区的大小限制。 vi /usr/local/nginx/conf/nginx.conf 编辑和设置所有客户端缓冲区的大小限制如下: ## Start: Size Limits & Buffer Overflows ## client_body_buffer_size 1K; client_header_buffer_size 1k; client_max_body_size 1k; large_client_heade
小小科
2018/05/04
1.2K0
Nginx防盗链,Nginx访问控制,,Nginx解析php相关配置,Nginx代理
vim /usr/local/nginx/conf/vhost/test.com.conf
端碗吹水
2020/09/23
2K0
Nginx防盗链,Nginx访问控制,,Nginx解析php相关配置,Nginx代理
Nginx源码安装及调优配置
由于Nginx本身的一些优点,轻量,开源,易用,越来越多的公司使用nginx作为自己公司的web应用服务器,本文详细介绍nginx源码安装的同时并对nginx进行优化配置。 image.png Nginx编译前的优化 [root@linuxprobe ~]# wget http://nginx.org/download/nginx-1.10.1.tar.gz [root@linuxprobe ~]# tar xvf nginx-1.10.1.tar.gz -C /usr/local/src/ [root@l
shaonbean
2018/01/15
2.2K0
Nginx源码安装及调优配置
nginx 最全操作总结
在复习 nginx 的知识的时候把常用的 nginx 操作整合出来,方便查阅,这里分享给大家: 本文将会从:安装 -> 全局配置 -> 常用的各种配置 来书写,其中常用配置写的炒鸡详细,需要的童鞋可以直接滑倒相应的位置查看。 安装 nginx 下载 nginx 的压缩包文件到根目录,官网下载地址:nginx.org/download/nginx-x.xx.xx.tar.gz yum update #更新系统软件 cd / wget nginx.org/download/nginx-1.17.2.tar.g
QQ音乐前端团队
2021/06/25
1K0
nginx rewrite伪静态配置参数详解
nginx rewrite 伪静态配置参数和使用例子 附正则使用说明 正则表达式匹配,其中: * ~ 为区分大小写匹配 * ~* 为不区分大小写匹配 * !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配,其中:
用户10270395
2022/12/16
2.7K0
相关推荐
Nginx防盗链+Nginx访问控制+Nginx解析php相关配置+Nginx 代理
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档