ByteNoteByteNote

字节笔记本

2026年2月18日

使用 CloudFlare 免费 WAF 防止恶意注册攻击

API中转
¥120

本文介绍如何使用 CloudFlare 免费 WAF(Web Application Firewall)来防止程序/机器人恶意注册账号,通过交互式质询验证有效拦截自动注册攻击。

问题背景

作者运营的 ChemSitesHub.com 网站提供邮箱、Google、Microsoft 三种注册方式。其中邮箱注册需要邮件验证,使用的是 Resend 免费服务(每日限额 100 封邮件)。

某日,作者突然收到 Resend 的超额通知:

  • 短时间内被注册 100 多个账号
  • 超出 200% 的日限额

显然是遭遇了恶意注册机器人攻击,需要紧急采取防护措施。

解决方案

使用 CloudFlare 免费 WAF 添加自定义规则,对特定 URL 启用"交互式质询"(Interactive Challenge)验证,要求访问者证明自己是人类。

为什么选择 CloudFlare WAF

优势说明
免费使用CloudFlare 免费套餐包含 WAF 功能
易于配置无需修改代码,通过界面配置即可生效
即时生效规则部署后立即生效
精准控制可针对特定 URL 或路径设置规则

配置步骤

步骤 1:进入 WAF 设置

  1. 登录 CloudFlare 控制台
  2. 选择需要保护的域名
  3. 点击左侧菜单 安全性WAF自定义规则

步骤 2:创建自定义规则

点击 创建规则,填写以下信息:

规则名称Block Bot Registration(或其他易识别的名称)

匹配条件

  • 字段:URL 路径
  • 运算符:包含
  • 值:/register(根据实际注册路径调整)

操作选择

  • 选择 交互式质询(Interactive Challenge)
  • 这将要求用户完成人机验证(如点击"我是人类")

步骤 3:部署规则

点击 部署 按钮,规则立即生效。

规则配置示例

基础规则(单一路径)

text
当 URL 路径包含 "/register" 时
执行:交互式质询

高级规则(多个路径)

text
当 URL 路径包含 "/register" 或 "/resend-verification" 时
执行:交互式质询

复合条件规则

text
当 URL 路径包含 "/register" 且 请求方法为 POST 时
执行:交互式质询

效果验证

测试方法

  1. 清除 Cookie 后访问受保护的注册页面
  2. 或使用 无痕模式/新浏览器 访问

预期结果

  • 首次访问会出现 人机认证界面
  • 完成验证后,后续访问无需重复验证(基于 Cookie)

正常用户体验

  • 真实用户只需完成一次验证
  • 验证通过后,Cookie 会记住该设备
  • 下次访问时自动通过,无感知

规则应用位置建议

页面建议操作原因
账号注册页面必须保护恶意注册的主要目标
邮件重发验证页面建议保护防止滥用邮件服务
登录页面可选保护防止暴力破解
密码重置页面建议保护防止滥用邮件服务

其他防护措施

1. 速率限制(Rate Limiting)

在 CloudFlare 中配置速率限制规则:

text
当同一 IP 在 1 分钟内请求超过 5 次注册接口时
执行:阻止 10 分钟

2. 验证码(CAPTCHA)

在注册表单中添加验证码:

  • Google reCAPTCHA
  • hCaptcha
  • CloudFlare Turnstile

3. 邮件验证优化

  • 限制每小时/每日发送次数
  • 添加发送冷却时间
  • 使用邮件队列

4. 账号审核机制

  • 新注册账号需要管理员审核
  • 限制新账号功能权限
  • 自动检测异常行为

监控与调整

查看 WAF 事件

在 CloudFlare 控制台中:

  1. 安全性事件
  2. 查看被拦截的请求
  3. 分析攻击来源和模式

调整规则

根据实际拦截情况调整规则:

  • 如果误伤正常用户,放宽条件
  • 如果仍有漏网之鱼,收紧条件
  • 定期 review 规则效果

常见问题

Q: 免费版 CloudFlare 有哪些限制?

A: 免费版包含:

  • 5 条自定义 WAF 规则
  • 基础 DDoS 防护
  • 全球 CDN 加速

对于小型网站完全够用。

Q: 交互式质询会影响 SEO 吗?

A: 不会。CloudFlare 会自动识别搜索引擎爬虫,不会对其展示质询页面。

Q: 用户完成验证后有效期多久?

A: 基于 Cookie,通常 30 分钟到数小时不等,具体取决于 CloudFlare 的设置。

Q: 可以自定义质询页面吗?

A: 免费版不支持自定义质询页面样式,付费版可以。

总结

通过 CloudFlare 免费 WAF 的交互式质询功能,可以有效阻止恶意注册机器人,保护网站资源不被滥用。配置简单,即时生效,是小型网站防护的性价比之选。

关键要点:

  • 针对注册相关 URL 设置规则
  • 使用交互式质询验证人类用户
  • 结合其他措施(速率限制、验证码)增强防护
  • 定期监控和调整规则

参考链接

分享: