訪問者が Turnstile に遭遇すると、さまざまなシグナルに基づいて人間かボットらしいかを判定します。これらの結果から、Turnstile がアプリケーションをどれだけ効果的に保護しているかを評価できます。
Turnstile Challenge が「解けた」ことだけでは、訪問者が人間だと確定しません。トークンを検証するには Siteverify API を呼び出す 必要があり、レスポンスが success:true の場合にだけ処理を進めます。
たとえば、アナリティクスの Challenge 結果は次のように表示されます。

- Challenges issued: 特定期間内に訪問者へ提示された Challenge の合計数です。
- Challenges solved: その期間に訪問者が完了した Challenge の数です。
- Challenges unsolved: その期間に放棄された、または失敗した Challenge です。
- Likely human: 解かれた Challenge の合計数、または発行された Challenge の合計数です。
- Likely bot: 解けなかった Challenge の合計数、または発行された Challenge の合計数です。
これらのメトリクスを分析すると、特定の地域、デバイス種別、トラフィックソースでの失敗率の高さなど、ボット活動や設定ミスを示す傾向を見つけられます。
Siteverify API を呼び出すことが重要です。トークンの検証に Siteverify API を使わないと、Web サイトやアプリケーションは保護されません。トークン検証を省略すると、訪問者が正当かどうかを確認できません。
- トークンは 1 回だけ使えます。有効なトークンでも、再利用すると
success:falseが返ります。これにより、トークンの窃取とリプレイ攻撃を防ぎます。 - トークンは 5 分で期限切れになります。この時間内に検証しないと、効果はありません。
- トークンが無効になることもあります。ボットがチャレンジを完了しても、Cloudflare はボットらしいシグナルを検出し、トークンを無効としてマークできます。
Turnstile の解答率は、Challenge を通過した訪問者の割合を示します。解答率は、解かれた Challenge の合計と、インタラクティブ、非インタラクティブ、Pre-clearance のどれで解けたかに分解できます。
Managed モード を使っている場合は、ウィジェットのチェックボックス操作を求められた訪問者(インタラクティブ解答)と、体験を妨げずに検証された訪問者(非インタラクティブ解答)の数を監視できます。
たとえば、アナリティクスの解答率は次のように表示されます。

- Non-interactive solves: 訪問者がチェックボックスをクリックせずに解けた Challenge です。
- Interactive solves: 解くために訪問者の操作が必要だった Challenge です。
- Pre-clearance solves: Turnstile トークンに加えて
cf_clearanceCookie を発行した Challenge です。
解答率が低い場合は、Turnstile を回避しようとするボット活動の増加や、追加調査が必要な異常なトラフィックパターンを示していることがあります。