屏蔽国内IP

¥88.00 ¥100.00
无货
根据IP地址屏蔽来自中国大陆的访问,支持在线下载和更新IP库。
加入收藏

Block China IP Plugin

屏蔽国内IP访问插件,支持在线下载和更新IP库。

功能特性

  • ✅ 根据IP地址屏蔽来自中国大陆的访问
  • ✅ 支持CIDR格式的IP段列表
  • ✅ 后台在线下载和更新IP库
  • ✅ 检测到中国IP时自动显示系统维护页面
  • ✅ 轻量级IP库,查询速度快
  • ✅ 支持测试模式,方便开发调试

安装

  1. 将插件目录放置到 plugins/BlockChinaIp/
  2. 在后台插件管理中启用插件
  3. 访问插件设置页面,下载IP库

配置

IP库设置

  • IP库下载地址: IP库文件的URL地址,支持CIDR格式的IP段列表
  • 默认IP库: https://raw.githubusercontent.com/17mon/china_ip_list/master/china_ip_list.txt

状态开关

系统会自动添加"状态"开关,用于启用或禁用IP屏蔽功能。

IP库格式

IP库文件应为CIDR格式的IP段列表,每行一个IP段,例如:

1.0.1.0/24
1.0.2.0/23
1.0.8.0/21

支持以 # 开头的注释行,空行会被自动忽略。

使用方法

  1. 访问后台插件管理页面
  2. 找到"屏蔽国内IP"插件,点击"设置"
  3. 点击"下载IP库"按钮,下载最新的IP库
  4. 开启"状态"开关,启用IP屏蔽功能
  5. 保存设置

工作原理

  1. 插件通过中间件拦截所有前台访问请求
  2. 获取客户端真实IP地址(支持代理服务器)
  3. 检查IP是否在中国IP库的CIDR范围内
  4. 如果检测到中国IP,显示系统维护页面
  5. 如果IP不在中国IP范围内,正常访问网站

测试模式

为了方便开发和测试,插件支持测试模式:

方法1:URL参数(推荐)

在浏览器地址栏添加 ?test_ip=IP地址 参数:

# 测试中国IP(会被屏蔽)
http://your-domain.com/?test_ip=114.114.114.114

# 测试非中国IP(不会屏蔽)
http://your-domain.com/?test_ip=8.8.8.8

方法2:请求头

使用浏览器开发者工具或ModHeader扩展,添加请求头:

  • Header name: X-Test-IP
  • Header value: 114.114.114.114

方法3:环境变量

.env 文件中添加:

BLOCK_CHINA_IP_TEST_IP=114.114.114.114

常用测试IP

中国IP(会被屏蔽):

  • 114.114.114.114 - 114 DNS
  • 223.5.5.5 - 阿里云 DNS
  • 180.76.76.76 - 百度 DNS

非中国IP(不会被屏蔽):

  • 8.8.8.8 - Google DNS(美国)
  • 1.1.1.1 - Cloudflare DNS(美国)
  • 208.67.222.222 - OpenDNS(美国)

技术说明

  • 使用CIDR格式的IP段进行匹配
  • IP库文件存储在 storage/app/block_china_ip/china_ip_ranges.txt
  • 支持IPv4地址检测
  • 自动处理代理服务器转发的真实IP(X-Forwarded-For、X-Real-IP)
  • 检测到中国IP时,显示系统维护页面(maintenance 视图)

注意事项

  • IP库需要定期更新以保持准确性
  • 建议在生产环境使用前先测试
  • 如果使用CDN或代理,请确保正确配置X-Forwarded-For头
  • 本地IP(127.0.0.1、::1)不会被屏蔽
  • 测试模式仅在开发环境使用,生产环境请移除测试参数

文件结构

BlockChinaIp/
├── Boot.php                    # 插件启动类
├── config.json                 # 插件配置文件
├── fields.php                  # 插件字段配置
├── Controllers/
│   └── Panel/
│       └── BlockChinaIpController.php  # 后台控制器
├── Middleware/
│   └── Front/
│       └── BlockChinaIp.php   # 前台中间件
├── Services/
│   └── IpBlockService.php      # IP检查服务
├── Routes/
│   └── panel.php               # 后台路由
├── Views/
│   └── plugins/
│       └── fields/
│           └── ip_database_url.blade.php  # IP库字段视图
└── Lang/
    ├── en/
    │   └── common.php          # 英文语言包
    └── zh-cn/
        └── common.php          # 中文语言包

更新日志

v1.0.0

  • 初始版本
  • 支持CIDR格式IP库
  • 后台在线下载IP库
  • 自动显示系统维护页面
  • 支持测试模式