使う Cloudflare の製品や機能に応じて、Challenge は主に 3 つの方法で出されます。いずれの方法も、セキュリティと訪問者体験のバランスを取るよう設計されています。
| 製品 | Challenge の種類 |
|---|---|
| WAF(カスタムルール、レート制限ルール、IP Access rules) | インタースティシャル Challenge Page |
| Bot Management | JavaScript Detections |
| Bot Fight Mode、Super Bot Fight Mode | インタースティシャル Challenge Page |
| Turnstile | 埋め込みウィジェット |
| HTTP DDoS attack protection | 任意の Challenge |
| Under Attack Mode | Managed Challenge |
Challenge Page と Turnstile は、同じ基盤の仕組みで、ウェブサイトやアプリケーションの訪問者に Challenge を出します。
JavaScript Detections は Bot Management のオプション機能です。有効にすると、Cloudflare は HTML レスポンスに JavaScript スニペットを挿入し、クライアント側のシグナルを集めます。Challenge Page と違い、JavaScript Detections は訪問者を止めたり中断したりせず、すべての HTML リクエストで実行されます。合格 / 不合格の結果(cf.bot_management.js_detection.passed)を設定するので、WAF カスタムルール でその後の処理を決められます。
セッション単位の検出で Challenge を出すタイミングを決める方法は、Precursor を参照してください。
各 Challenge タイプの詳細は、次のページを参照してください。
Cloudflare Challenge は、次のケースをサポートしません。
- ブラウザーの
User-Agent値や、CanvasおよびWebGLなどの Web API を変更する ブラウザー拡張機能。 - あるドメイン向けに要求された Challenge Page を、別のドメインが返す実装。
- Challenge Page をクロスオリジンの iframe に埋め込むこと。
- Managed Challenge の解決リクエストが、Challenge を出したときの IP と異なる IP から来るクライアントソフトウェア。たとえば、ある IP で Challenge を受け、別の IP で解いた場合、その解決は無効になり、Challenge のループが発生することがあります。