当访问者遇到 Turnstile 时,它会根据各种信号评估他们是人类还是疑似 bot。这些结果有助于您评估 Turnstile 保护应用程序的有效性。
“已解决 (solved)”的 Turnstile 质询并不代表自动确认访问者是人类。您必须调用 Siteverify API 来验证令牌,并且只有在响应返回 success:true 时才放行。
例如,分析中的质询结果值可能如下所示:

- Challenges issued(已发出的质询):在特定时间范围内呈现给访问者的质询总数。
- Challenges solved(已解决的质询):在该时间段内由访问者成功完成的质询数量。
- Challenges unsolved(未解决的质询):在该时间段内被放弃或失败的质询。
- Likely human(疑似人类):已解决的质询总数或已发出的质询总数。
- Likely bot(疑似 bot):未解决的质询总数或已发出的质询总数。
通过分析这些指标,您可以发现特定地区、设备类型或流量来源中较高的失败率等趋势,这可能表明存在 bot 活动或配置错误。
调用 Siteverify API 非常重要。如果不调用 Siteverify API 来验证令牌,您的网站或应用程序将无法受到保护。跳过令牌验证意味着您无法确认访问者的合法性。
- 令牌只能兑换一次。即使是有效的令牌,如果被重复使用,也会返回
success:false,从而防止令牌盗窃和重放攻击。 - 令牌在五分钟后过期。必须在此窗口期内进行验证才能生效。
- 令牌可能是无效的。机器人可能会完成质询,但 Cloudflare 可以检测到类似机器人的信号并将令牌标记为无效。
Turnstile 的解决率表示有多少访问者通过了质询。解决率可以细分为已解决质询的总数,以及它们是交互式、非交互式还是 pre-clearance 解决。
如果您使用的是托管模式 (managed mode),您可以监控有多少访问者被提示与小组件上的复选框进行交互(交互式解决),以及有多少访问者在没有对他们的体验造成任何干扰的情况下通过了验证(非交互式解决)。
例如,分析中的解决率值可能如下所示:

- Non-interactive solves(非交互式解决):不需要访问者勾选复选框即完成的质询。
- Interactive solves(交互式解决):需要访问者进行交互才能解决的质询。
- Pre-clearance solves(预清除解决):解决了质询并在签发 Turnstile 令牌的同时签发了
cf_clearancecookie。
较低的解决率可能表明尝试绕过 Turnstile 的 bot 活动增加,或者出现了需要进一步调查的异常流量模式。