跳转到内容
搜索文档

自定义规则

最后更新 查看 MarkdownAgent 设置

Cloudflare 上的 bot 防护通过两个互补的机制运行:通过 安全设置 中的开关配置的内置设置,以及您使用 bot 管理字段编写的 WAF 自定义规则。了解何时使用每种方法有助于您避免创建重复的规则,并简化您的安全配置。

以下功能是通过 安全设置 中的开关和下拉菜单进行配置的。它们不需要您编写任何规则表达式。

功能 它的作用 可用性
阻止 AI bot 使用自动更新的托管规则阻止 AI 爬虫(GPTBot、ClaudeBot、Bytespider 等) 所有套餐
AI 迷宫 (AI Labyrinth) 将不合规的 AI 爬虫引导至生成的不断重复内容的迷宫中 所有套餐
托管 robots.txt 在您的 robots.txt 前面添加 AI 爬虫的拒绝 (disallow) 指令 所有套餐
Super Bot Fight Mode > Definitely automated(确定为自动化) 阻止或质询 bot 分数 (bot score) 为 1 的流量 专业版、商业版、企业版
Super Bot Fight Mode > Likely automated(可能为自动化) 阻止或质询 bot 分数为 2-29 的流量 商业版、企业版
已验证的 bot (Verified bots) 高信任度 bot(Googlebot、Bingbot 等)的托管类别 专业版、商业版、企业版
静态资源保护 扩展 bot 操作以涵盖静态文件类型 专业版、商业版、企业版
优化 WordPress 允许 WordPress 回环 (loopback) 请求通过 bot 防护 专业版、商业版、企业版
JavaScript 检测 注入轻量级脚本以识别无法执行 JavaScript 的客户端 所有套餐(免费版上自动启用)

当 Cloudflare 识别出新的 bot 签名和 AI 爬虫时,Bot 设置会自动更新,而自定义规则则需要手动更新。它们不计入您的自定义规则限制,并统一应用于您的整个域名,而没有表达式错误的风险。

自定义规则用例

当您需要内置设置不提供的功能时,自定义规则非常有用。以下场景需要配合 bot 管理字段使用 WAF 自定义规则。拥有 Bot Management 订阅的客户可以使用 bot 管理字段。

特定路径保护

由于 Bot 设置适用于您域名上的所有流量,因此您可能需要使用自定义规则针对不同路径采取不同的 bot 处理方法 — 例如,在 /login/ 上采取比在 /public/ 上更严格的保护。

示例

仅在您的登录端点上阻止可能为自动化的流量:

(cf.bot_management.score lt 30 and not cf.bot_management.verified_bot and http.request.uri.path eq "/login")

自定义分数阈值

Super Bot Fight Mode 中的 Definitely automated(确定为自动化)Likely automated(可能为自动化) 设置使用固定的 bot 分数分组(1 和 2-29)。如果您需要不同的阈值,例如对分数低于 20 的所有流量发起质询,则需要自定义规则。

条件逻辑

如果您需要将 bot 分数与其他请求字段(例如国家/地区、ASN、URI 路径、JA3/JA4 指纹或用户代理)结合使用,则需要自定义规则。Bot 设置不支持复合条件。

示例

仅对来自特定 ASN 的可能为自动化的流量发起质询:

(cf.bot_management.score lt 30 and not cf.bot_management.verified_bot and ip.src.asnum in {64496 65536})

自定义操作

Bot 设置提供 Block(阻止)Managed Challenge(托管质询)Allow(允许) 作为操作。

如果您需要其他操作,例如 Log(记录)(用于在执行前测试规则)、Interactive Challenge(交互式质询)Skip(跳过)(以绕过其他规则),则需要自定义规则。

检测 ID 针对性设置

要针对特定的 bot 启发式检测采取行动,例如账户接管抓取模式,您需要使用 cf.bot_management.detection_ids 字段创建自定义规则。Bot 设置不会公开单个检测 ID。

将 bot 数据转发到源站

要将 bot 分数、已验证的 bot 状态或 JA3/JA4 指纹发送到您的源服务器,请使用转换规则 (Transform Rules)(包括托管转换规则 (Managed Transforms))或 Snippets。这些不属于内置 bot 设置的一部分。

执行顺序

自定义规则在 Super Bot Fight Mode 托管规则之前执行。如果自定义规则采取了终结性操作 (terminating action)(例如阻止托管质询),则请求不会到达 bot 设置。

有关更多信息,请参阅安全功能互操作性 (Security features interoperability)

这篇文档对您有帮助吗?