质询解决率 (CSR) 是指已发出的质询(非交互式质询、托管质询或交互式质询操作)被解决的百分比。
每个质询都涉及两个独立的事件:
- 质询触发:原始请求匹配带有质询操作的 WAF 规则。Cloudflare 向访问者的浏览器发出质询。
- 质询已解决:访问者的浏览器完成质询并返回验证后的响应。此事件被记录为质询已解决。
大多数自动化流量在遇到质询脚本后会立即放弃,永远不会到达第二个事件。这就是为什么未解决质询的数量通常非常大——这些放弃在公式中被视为失败。
CSR = 已解决的质询数量 / 已发出的质询数量CSR 指示规则的误报百分比。高 CSR 意味着大部分发出的质询被真实访问者解决,这可能表明规则匹配了太多合法流量。使用 CSR 评估规则的条件或操作是否需要调整。
您可以通过转到其相应的仪表板页面来找到规则的 CSR:
如果您在 Security Events 中发现诸如 [js]challengeSolved 或 challengeSolved 的质询已解决操作不匹配基础规则条件,这是因为此操作指的是成功缓解了之前的请求,而不是对原始规则的重新匹配。
已解决请求的参数可能不再与原始规则的表达式匹配。例如,如果质询是由于机器人分数低而发出的,那么在成功验证后,已解决请求的分数可能已经更改为非可疑值。
质询已解决操作是一个信息性信号,表明之前发出的质询得到了响应,允许访问者的流量继续。
在安全分析中,您找不到专门衡量失败质询的指标,因为 Cloudflare 是根据已发出质询与已解决质询之间的差异来间接计算失败次数的。
系统将任何未导致成功清除 cookie 的已发出质询视为失败。这就是为什么失败质询的数量可能显得特别高:大部分发出的质询从未完成。
失败次数的官方计算方式为:
失败的质询 = 发出的质询总数 − 解决的质询总数不匹配的质询数量庞大,主要是因为自动化流量(机器人或抓取器)在遇到初始质询脚本时会立即放弃该过程。
发出质询但未解决的主要原因:
- 访问者放弃质询或导航离开页面。
- 访问者试图解决质询但无法提供有效的答案。
- 系统接收到来自客户端的无效或格式错误的答案。
- 脚本环境(通常是受机器人控制的浏览器)无法运行必要的客户端检查。