Cache Rules 中的 Bot management 字段和 ASN 支持
Cache Rules 现在在表达式过滤器中支持 Bot management 字段和 ip.src.asnum 字段。您现在可以构建区分自动流量和人类流量的缓存策略,或者根据自治系统编号(ASN)对缓存行为进行细分。
这允许您对已验证的 Bot、高风险流量或特定网络运营商应用不同的缓存策略,而不会影响合法的用户请求。例如,您可以为怀疑是 Bot 流量的请求设置较短的缓存 TTL,或者对来自特定 ASN 的请求完全绕过缓存。
以下字段现在在 Cache Rules 表达式中可用:
| 字段 | 类型 | 描述 |
|---|---|---|
cf.bot_management.score |
数字 | 1 到 99 之间的 Bot 分数,较低的值表示请求源自 Bot 的可能性较高。 |
cf.bot_management.ja3_hash |
字符串 | 请求的 JA3 指纹,有助于识别发起连接的客户端。 |
cf.bot_management.ja4 |
字符串 | 请求的 JA4 指纹,与 JA3 相比,提供了更详细的客户端识别。 |
cf.bot_management.verified_bot |
布尔值 | 请求是否源自已验证的 Bot,例如搜索引擎爬虫。 |
cf.bot_management.static_resource |
布尔值 | 请求是否针对静态资源,从而免于 Bot 检测。 |
cf.bot_management.js_detection.passed |
布尔值 | 在启用该功能时,浏览器是否通过了 JavaScript 检测。 |
cf.bot_management.attack_score |
数字 | 按攻击分数对请求进行分类,从 1(可能是自动的)到 99(可能是人类)。 |
cf.bot_management.api_score |
数字 | 按 API 分数对请求进行分类,从 1(可能是自动的)到 99(可能是人类)。 |
cf.bot_management.bot_tags["<TAG>"] |
布尔值 | Bot 流量是否匹配指定的标签,例如 google 或 bing。 |
cf.bot_management.corporate_proxy |
布尔值 | 请求是否源自已知的公司代理。 |
ip.src.asnum |
数字 | 传入请求 IP 地址的自治系统编号(ASN)。 |
Cache Rules 表达式支持将这些字段与其他标准结合使用。以下示例为来自高风险 Bot 或意外 ASN 的 API 请求设置较短的缓存 TTL:
(http.request.uri.path contains "/api/" and cf.bot_management.score lt 30)
or
(http.request.uri.path contains "/api/" and not ip.src.asnum in {12345 67890})要了解更多信息,请参阅 Cache Rules 文档 和 字段参考。