Cloudflare Managed Ruleset 包含检测冒充 Googlebot 和 Bingbot 等知名机器人的请求的规则。这些规则会将请求的 User-Agent 标头与已知机器人模式进行比较,然后使用反向 DNS 查找或 IP 验证等方法来验证来源。如果 User-Agent 匹配已知机器人,但来源无法验证,该规则会将请求标记为虚假机器人。
下表列出了 Cloudflare Managed Ruleset 中的虚假机器人检测规则:
| 规则名称 | 规则 ID |
|---|---|
| Anomaly:Header:User-Agent - Fake Google Bot | |
| Anomaly:Header:User-Agent - Fake Bing or MSN Bot |
对于与已知机器人共享基础架构或用户代理模式但使用不同 IP 范围的合法服务,虚假机器人规则可能会触发误报。常见示例包括:
- Google Cloud 服务:Google Cloud Workflows 或 Cloud Functions 等服务可能会从标准 Googlebot 范围以外的 IP 地址发送带有与 Google 相关的
User-Agent标头的请求。这些请求未通过 IP 验证检查,并被标记为虚假的 Google 机器人。 - Bing Webmaster Tools Site Scan:Site Scan 不使用与 Bingbot 相同的 IP 范围,从而触发了虚假 Bing 机器人规则。有关此场景的特定指导,请参阅 Bing 的 Site Scan 被托管规则阻止。
- 监控和测试工具:设置了类似机器人的
User-Agent标头的第三方正常运行时间监视器或自动测试工具也可能会被标记。
如果虚假机器人规则阻止了合法流量,请创建一个 异常 以针对受影响的请求跳过特定托管规则。
在定义异常表达式时,请使用可以识别合法流量而不广泛禁用规则的请求属性。例如:
- 如果服务使用一组已知地址,请按源 IP 地址或 IP 范围进行过滤。
- 如果服务仅访问某些端点,请按特定 URI 路径进行过滤。
- 如果服务源自特定网络,请按 ASN 进行过滤。
异常必须出现在执行 Cloudflare Managed Ruleset 的规则之前的规则列表中,否则将无效。
有关创建异常的说明,请参阅 创建异常。