跳到主要内容
Paid AddonPurchase Captcha | Install via your site's addon page or download from your account

Captcha

阻止机器人。保护收入。零配置烦恼。

正在运行带自定义域名的多站点网络?你一定懂这种痛苦:Google reCAPTCHA 和 hCaptcha 要求你在它们的管理控制台中注册每一个域名。新增一个客户站点?更新验证码配置。映射一个自定义域名?再更新一次。永无止境。

Ultimate Multisite: Captcha 改变一切。

Cap Captcha:开箱即用的自托管防护​

我们新的 Cap Captcha 提供商将彻底改变多站点网络:

  • 零配置 — 激活 addon 即可获得保护。无需 API 密钥、无需 Google 账号、无需 hCaptcha dashboard、无需域名白名单。
  • 自动适用于每个域名 — 子域名、映射域名、客户域名——都会立即受到保护。
  • 自托管且私密 — 你的数据永远不会离开你的服务器。无第三方跟踪,完全符合 GDPR。
  • 隐形工作量证明 — 用户在后台完成计算谜题。无需点击消防栓,也没有令人沮丧的图片网格。
  • 轻量 — 仅 20KB。不会拖慢你的结账流程。

WooCommerce 卡片测试防护​

卡片测试攻击每年让商家损失数十亿美元。欺诈者使用机器人在你的 WooCommerce 结账流程中验证被盗信用卡——你支付处理费用,他们获得有效卡号。

我们保护最关键的位置:

  • Store API 防护 — 阻止绕过传统表单验证码、攻击 /wp-json/wc/store/v1/checkout 的机器人攻击
  • 兼容 PayPal Payments — 与 WooCommerce PayPal Payments 无缝协作
  • 实时统计 — 准确查看你拦截了多少次攻击

仍然需要 Google reCAPTCHA 或 hCaptcha?​

我们也支持。完整支持:

  • Google reCAPTCHA v2(复选框)
  • Google reCAPTCHA v2(隐形)
  • Google reCAPTCHA v3(基于评分)
  • hCaptcha(标准)
  • hCaptcha(隐形)

可随时从你的网络设置中切换提供商。

为规模化而构建​

  • 网络范围设置,支持按站点覆盖
  • 用于监控防护的统计 dashboard
  • 可调整的安全级别(快速、中等、最高)
  • 面向开发者,具备可扩展的提供商架构

安装​

  1. 将 ultimate-multisite-captcha 上传到你的 /wp-content/plugins/ 目录
  2. 网络激活该 plugin
  3. 就这样。你已经受到保护。

Cap Captcha 会自动激活——无需配置设置,无需输入 API 密钥。激活的那一刻,你整个网络中所有受支持的 endpoint 都会受到保护。

可选: 如果想改用 Google reCAPTCHA 或 hCaptcha,请前往 Ultimate Multisite → Settings → Captcha 并选择你偏好的提供商。

常见问题​

我需要配置任何内容吗?​

不需要!当你激活 addon 时,Cap Captcha 会自动启用。你的整个网络会立即受到保护——无需配置设置,无需输入 API 密钥。

Cap Captcha 需要 API 密钥吗?​

不需要。Cap Captcha 完全自托管。无需外部账号、无需域名注册、没有配置烦恼。

这会拖慢我的结账流程吗?​

Cap Captcha 只有 20KB,并在后台运行工作量证明挑战。你的客户不会察觉到任何延迟。

这能防护卡片测试攻击吗?​

可以!不同于只保护 HTML 表单的传统验证码,我们的 WooCommerce 集成会直接挂接到 Store API,在 API 层级阻止机器人攻击——这正是大多数卡片测试攻击发生的位置。

我可以在不同站点使用不同的验证码提供商吗?​

验证码提供商是在网络范围内设置的,但你可以根据需要调整难度设置。

这符合 GDPR 吗?​

Cap Captcha 100% 自托管,不会向外部服务发送任何数据。对于 Google reCAPTCHA 和 hCaptcha,请查看它们各自的隐私政策。

速率限制​

Ultimate Multisite: Captcha v1.5.0 引入了硬性拦截的速率限制器,可保护你的网络免受暴力破解和卡片测试攻击。

工作原理​

速率限制器会统计验证码保护表面上的每个 GET 和 POST 请求:

  • WordPress 登录 endpoint — wp-login、注册、找回密码、评论
  • WooCommerce 结账 — my-account、checkout、pay-for-order
  • Ultimate Multisite — checkout、inline-login

当访问者超过速率限制时,该 plugin 会返回:

  • HTTP 429(请求过多) 状态码
  • Retry-After header,指示何时重试
  • 随机化 tarpit 休眠(默认 1–5 秒,硬性上限 15 秒)以拖慢攻击者

配置​

Tarpit 计时​

控制应用于被速率限制请求的随机化延迟:

  • cap_rate_limit_tarpit_min — 最小休眠时长(秒)(默认:1)
  • cap_rate_limit_tarpit_max — 最大休眠时长(秒)(默认:5,硬性上限 15)

这些设置可在 Ultimate Multisite → Settings → Captcha 中使用。

可扩展性​

IP 白名单过滤器​

将受信任的 IP 范围从速率限制中豁免:

add_filter( 'wu_cap_rate_limit_whitelist_ip', function( $is_whitelisted, $ip ) {
// Whitelist your monitoring service
if ( $ip === '203.0.113.42' ) {
return true;
}
return $is_whitelisted;
}, 10, 2 );

预拦截操作​

在发送速率限制拦截之前立即执行自定义逻辑:

add_action( 'wu_cap_rate_limit_will_block', function( $ip, $surface ) {
// Log the block, notify admins, or update custom metrics
error_log( "Rate limit triggered for $ip on $surface" );
}, 10, 2 );

Client IP 检测与受信任代理​

Ultimate Multisite: Captcha v1.5.0 引入了抗伪造的客户端 IP 检测。Captcha_Core::get_client_ip() 方法现在是以下范围内访问者 IP 归因的唯一事实来源:

  • 速率限制桶键
  • Captcha 提供商 remoteip(reCAPTCHA、hCaptcha siteverify)
  • 统计 IP 哈希

信任模型​

该 plugin 强制执行严格的 IP 信任层级:

  1. REMOTE_ADDR — 始终受信任(直接对端的 IP)
  2. CF-Connecting-IP — 仅在以下情况下被采用:
    • 直接对端位于当前 Cloudflare IP 范围内
    • cap_trust_cloudflare_headers 已启用(默认:OFF)
  3. X-Forwarded-For — 仅在以下情况下被采用:
    • 直接对端位于你在管理后台配置的受信任代理列表中
    • 该 header 从右到左解析,跳过受信任/Cloudflare 跳点

配置​

Cloudflare Header 信任​

启用对 Cloudflare 的 CF-Connecting-IP header 的信任:

  • cap_trust_cloudflare_headers — 设置为 ON 以选择加入 CF-Connecting-IP 信任
    • 默认:OFF(已禁用)
    • 该 plugin 随附内置的 Cloudflare CIDR 快照
    • CIDR 范围每周通过 wp-cron 刷新
    • 如果刷新失败,则使用内置回退

受信任代理配置​

定义你的前端代理和负载均衡器:

  • cap_trusted_proxies — CIDR 或裸 IP 的文本区域(每行一个)
    • 允许注释(以 # 开头的行)
    • 如果没有此设置,即使速率限制器已启用,X-Forwarded-For 也会被忽略
    • 示例:
      # Our load balancer
      192.0.2.0/24

      # Backup proxy
      198.51.100.50

首次启用自动检测​

当你首次启用速率限制器时,该 plugin 会检测你可能的 Cloudflare 和代理状态,并显示一个一键“应用检测到的设置”的管理通知。

  • 该 plugin 绝不会覆盖你已保存的值
  • 如果后续流量表明你的配置不再符合实际情况(例如,Cloudflare 更改了 CIDR 范围),会显示一个不可关闭的不匹配通知,并给出推荐更新

为什么这很重要​

严格的 IP 信任模型可以关闭一个关键的欺骗向量:直接发往源服务器、携带伪造 CF-Connecting-IP header 的请求,以前会按伪造 IP 而不是真实对端进行分桶。这对于以下方面尤其重要:

  • 速率限制 — 攻击者无法通过伪造 IP 来绕过限制
  • 统计 — 你的攻击指标反映真实访客 IP,而不是伪造的 IP
  • Captcha 验证 — 提供商会收到正确的访客 IP,用于风险评估