我也要墙吗?

前言

这是一款轻量的 WordPress 原生插件,可根据访客 IP 归属地对指定国家/地区进行访问屏蔽或放行,适合需要做区域访问限制的站点使用

v2.0.3-LTS 版本修复了一些神秘小 Bug ,同时新增了“仅ESA模式”大幅提升了使用阿里云 ESA 时的判断和拦截效率,建议更新

核心特点

  • 双工作模式:支持「屏蔽模式」(阻止指定地区访问)与「放行模式」(仅允许指定地区访问),一键切换管控逻辑
  • 内置常见地区选项:默认提供常见地区快速勾选;同时支持手动添加任意 ISO 两位国家代码,灵活扩展管控范围
  • CDN 兼容友好:内置 Cloudflare、阿里云 CDN 等主流场景的真实 IP 识别逻辑,也支持自定义 IP 请求头,确保代理/CDN 环境下 IP 判断准确
  • 页面高度可定制:支持自定义屏蔽页面的 HTML 内容与全套 CSS 样式,可与站点视觉风格统一
  • 自带数据库缓存:IP 归属地查询结果本地缓存 24 小时,大幅降低接口调用次数,兼顾性能与接口限额
  • 轻量无冗余:纯 PHP 实现,完全复用 WordPress 原生设置体系

使用方法

  • 安装启用:将插件文件夹上传至站点  wp-content/plugins/  目录或者在后台安装,并在 WordPress 后台插件列表中启用「我也要墙吗?」
  • 进入配置页:后台左侧菜单「设置」→「我也要墙吗?」打开插件设置界面

基础规则配置:

  1. 勾选「开启国家屏蔽功能」正式启用拦截
  2. 选择管控模式(屏蔽/放行)
  3. 勾选需要管控的地区,额外国家在文本框内每行填写一个 ISO 国家代码(如 US、JP)

体验与环境配置:

  1. 按需修改屏蔽页面的提示文案与 CSS 样式
  2. 若站点使用 CDN,勾选「启用 CDN 穿透」;非标准 CDN 可自行填写 IP 头名称

注意事项

  • IP 归属地查询依赖  ip-api.com  免费接口,官方限制每分钟 150 次请求。插件已默认做缓存,高流量站点建议结合自身访问量评估。若有特殊需求或已自建接口,也可轻松通过修改过滤器的方式适配其他接口
  • 开启「放行模式」前请谨慎确认,不在允许列表内的所有地区均会被拒绝访问,避免误拦截目标用户
  • 插件默认不拦截 WordPress 后台、AJAX 请求、REST API 与定时任务,不会影响站点日常管理与自动化运行。默认不拦截已登录的管理员用户,但可以手动开启此功能
  • 使用 CDN/反向代理的站点,请先确认真实 IP 获取正确,否则地区判断与屏蔽规则会完全失效或行为异常
  • 自定义页面内容会经过 WordPress 内容安全过滤,不支持执行 PHP 与危险 JavaScript 代码

下载链接

v2.0-LTS 版本重构已完成,该版本对大量功能进行了优化,也新增了很多特性。为保证兼容性,请先卸载旧版本插件后重新安装。多数情况下插件配置将会保留,但也请先做好全站备份避免突发意外。