使用 Cloudflare 防火墙规则屏蔽恶意爬虫,最推荐组合开启「Bot Fight Mode」并配置自定义 WAF 规则放行合法搜索引擎。适用场景为保护网站内容不被 AI 模型或恶意脚本抓取,风险边界在于配置不当可能误伤百度等国内搜索引擎爬虫。
先说结论:通过 Cloudflare 控制台开启自动化防御并手动配置白名单,可在不影响 SEO 的前提下拦截大部分恶意流量。
- 先判断:确认网站主要流量来源及是否需要允许国内搜索引擎抓取。
- 优先做:开启 Bot Fight Mode 功能,并创建针对图片资源的 Referer 防盗链规则。
- 再验证:在【安全性】—【事件】日志中观察拦截记录,确保正常用户未被误拦。
快速处理思路
Cloudflare 主要依赖图形化界面配置,无需命令行即可完成核心防护部署。
- 登录 Cloudflare 控制台,进入域名管理页面。
- 在【安全性】菜单中开启「Bot Fight Mode」开关。
- 进入【WAF】—【自定义规则】,新建规则拦截空 Referer 的非浏览器请求。
- 在【SSL/TLS】设置中关闭「随机加密」以兼容百度爬虫。
为什么会这样
Cloudflare 通过 JavaScript 挑战和行为分析识别非人类流量,恶意爬虫通常无法完成验证。
现代防御体系核心在于边缘节点的实时决策能力,请求抵达源站前需经过 IP 信誉库筛查、设备指纹采集及行为序列异常评分。恶意爬虫往往缺乏完整的浏览器环境,无法执行注入的 JS 挑战脚本,从而被标记为可疑流量。合法搜索引擎爬虫则通过已知 IP 段和遵守 robots.txt 协议来通过验证,因此需要单独配置放行规则。
分步处理
按照以下顺序配置规则,可兼顾安全性与搜索引擎收录。
第一步:开启自动化防御
在 Cloudflare 后台【安全性】—【Bot】中,将「Bot Fight Mode」设置为开启。该功能利用签名比对和机器学习技术辨别爬虫,可防止内容被用于训练 AI 模型。
第二步:配置图片防盗链规则
进入【WAF】—【自定义规则】,创建新规则。表达式填写:http.request.uri.path matches "(?i)\.(jpg|jpeg|png|gif|webp)$" and http.referer eq "" and not http.user_agent contains "Mozilla"。动作选择「Block」。这能拦掉大部分脚本直刷,又保留浏览器直接打开图片链接的可用性。
第三步:放行合法搜索引擎
新建一条放行规则,表达式包含http.referer contains "google."、http.referer contains "bing."或http.referer contains "baidu.",动作选择「Allow」。也可直接使用 Cloudflare 提供的「已知自动程序」选项,将搜索引擎爬虫加入白名单。
第四步:调整 SSL 设置
进入【SSL/TLS】设置,找到「随机加密」开关并关闭。国内主流搜索引擎如百度爬虫不支持该特性,开启会导致抓取失败。
怎么验证是否生效
通过 Cloudflare 后台日志和服务器访问记录双重确认防护效果。
- 查看安全事件:在 Cloudflare 后台【安全性】—【事件】里查看记录,正常来访蜘蛛爬虫会有明确记录,恶意请求应显示被挑战或拦截。
- 检查服务器日志:确认源站 Nginx 或 Apache 日志中,来自 Cloudflare IP 的请求频率是否正常,异常流量应显著减少。
- 测试抓取行为:使用不同 User-Agent 模拟请求,确认恶意 UA 被拦截,而正常浏览器和搜索引擎爬虫可正常访问。
常见坑
配置过程中容易忽略兼容性问题,导致网站无法被收录或正常用户访问受阻。
- 误伤百度爬虫:若未关闭 SSL「随机加密」或未在 WAF 中放行百度 IP 段,会导致百度收录下降。
- 免费版限制:Cloudflare 免费版不支持自定义 Token 签名 URL,Referer 方案是唯一可行的防盗链手段,无法防止直接复制链接的访问。
- 国内访问速度:Cloudflare 部分节点在中国大陆地区可能无法正常访问,若访客主要来自国内,需评估 CDN 加速效果。
- AI 爬虫混淆:部分 AI 爬虫会伪装成正常浏览器 UA,仅靠 UA 过滤不够,需结合 Bot Fight Mode 的行为分析。
常见问题
开启防火墙会影响搜索引擎收录吗?
配置正确不会影响,但需手动放行已知搜索引擎爬虫。
Cloudflare 默认 WAF 理论上不会拦截爬虫,但国内部分爬虫对 robots.txt 遵守不完全,建议在 WAF 里单独创建一个放行爬虫的规则来以防万一。
免费版 Cloudflare 能防住 AI 爬虫吗?
能防御大部分通用 AI 爬虫,但无法精细控制特定模型。
免费版可通过 Bot Fight Mode 拦截异常流量,但不支持基于自定义 Token 的高级验证,对于遵守协议的大型 AI 爬虫需结合 robots.txt 管理。
为什么开启了防护还是被抓取?
可能是爬虫使用了合法浏览器指纹或走了代理 IP 池。
高级爬虫可能通过模拟真实用户行为绕过 JS 挑战,此时需调整 WAF 规则敏感度或限制特定 IP 段的访问频率。
参考来源
- Cloudflare 免费 CDN 怎么设置防盗链?网站资源保护与防刷流量方法
- Beehiiv 联手 Cloudflare:作者一键决定 AI 能否抓取内容
- 使用 CloudFlare 后如何才能不影响搜索引擎蜘蛛爬虫
- 简单操作让你的网站不受恶意流量恶意爬虫威胁!Cloudflare 防火墙部署指南
- 为什么你的爬虫总被 Cloudflare 拦截?,深度解析 2026 新防御机制及应对策略
- 一键禁用 AI 模型爬虫机器人,Cloudflare 推出防火墙服务
- 突破 Cloudflare 反爬虫机制:策略与实践
- 如何阻止 AI 爬网程序