Cloudflareチャレンジとターンスタイル:主な違いの説明
Specialist in Anti-Bot Strategies
TL;DR:
- それぞれ異なるものでありながら、見た目は似ています。 Cloudflare Challengeはサイト全体へのアクセスを制御するエッジ保護であり、Turnstileはサイトが埋め込むウィジェットで、ログインなどの単一のアクションを確認します。
- ChallengeはCloudflareによってゾーンレベルで展開されます。 コンテンツの前にフルページのインタースティシャル(「もうしばらくお待ちください…」)として表示され、これをクリアすると
cf_clearanceクッキーが保存されます。 - Turnstileはサイトの所有者によってインラインで展開されます。 フォーム上に存在し、これを通過するとサイトがサーバーサイドで検証する
cf-turnstile-responseトークンが生成されます。 - スクレーパーによる処理は異なります。 Challengeはインタースティシャルがクリアされるのを待つ実際のブラウザを必要としますが、Turnstileはウィジェットが実行され、コールバックからトークンが読み取られる必要があります。
- 1つのツールが両方をカバーします。 Scrapeless Scraping Browserは、実際のクラウドブラウザ内でそれぞれをレンダリングします — 実行中にCloudflare Challengeページを約20秒でクリアしました。
- 無料で始められます。 新しいScrapelessアカウントには無料のScraping Browserランタイムが含まれています — app.scrapeless.comでサインアップしてください。
はじめに:同じブランド、異なるメカニズム
Cloudflareの「もうしばらくお待ちください…」インタースティシャルとそのTurnstileウィジェットは、いずれもCloudflareの名前を冠し、リクエストとコンテンツの間に立ち、両方とも「Cloudflare CAPTCHA」と呼ばれることがあります。これらは同じメカニズムではなく、一つとして扱うことが多くのスクレイピングコードが片方は処理できても、もう片方で破損する理由です。
Cloudflare Challengeは、Cloudflareが自サイトのエッジで行うもので、リクエストがオリジンに到達するかどうかを決定します。Turnstileは、サイトの所有者が故意にページに埋め込むウィジェットであり、チェックボックスCAPTCHAの後継で、特定のアクションを確認します。このガイドでは、両者を並べて、それぞれが何であるか、どこで出会うか、何を生成するか、スクレーパーがそれぞれをどのように処理するかを説明します。
それぞれ何か
Cloudflare Challengeはゾーンレベルの保護です。Cloudflareのボット管理がリクエストが実際のブラウザであることを確認できない場合、JavaScriptチェックを実行し、それが通過した後にリクエストをオリジンに転送するインタースティシャルを提供します。Cloudflareは、独自に解決するJavaScript検出、自動で判断する管理されたチャレンジ、訪問者にアクションを求めるインタラクティブチャレンジのいくつかのチャレンジタイプを文書化しています。訪問者は自ら選択するのではなく、サイトのCloudflare設定が行います。
Turnstileは埋め込み可能なウィジェットです。サイトの所有者は、フォーム上に<div class="cf-turnstile" data-sitekey="…">(またはJavaScriptでレンダリング)を追加し、Turnstileは訪問者が人間であることを確認するために一連の非侵入的チェックを実行します。これは、チェックボックスCAPTCHAの代替として、サイト全体の保護ではなく、守るアクションにスコープを絞っています。
並べて比較
| Cloudflare Challenge | Turnstile | |
|---|---|---|
| 何か | サイトへのアクセスを制御するエッジ保護 | 単一のアクションを確認するウィジェット |
| 誰が展開するか | Cloudflare(ゾーンレベル) | サイトの所有者(特定のフォーム上) |
| どこで出会うか | コンテンツの前にあるフルページインタースティシャル | フォーム上(ログイン、サインアップ、チェックアウト) |
| トリガー | リクエストに対するCloudflareの評価 | それを埋め込むページ/フォームの読み込み |
| 何を生成するか | セッションのためのcf_clearanceクッキー |
各サブミッションのためのcf-turnstile-responseトークン |
| どのように検証されるか | Cloudflareのエッジで透明に | Cloudflareの検証エンドポイントに対してサーバーサイドで |
| スコープ | ゾーンの背後にある全てのサイト | ウィジェットが保護するアクションのみ |
最も明確な違い: Challengeは、全ての家の前にある壁であり、何かを見ようとするにはそれを通り抜けなければならない;Turnstileは、すでに歩き回れる家の中の1つのドアのロックです。
どこが重なるか
この混乱は理解できます。なぜなら、両者は同じ機械を共有しているからです。Turnstileとインタラクティブチャレンジは、同じ基盤技術を使用しているため、インタラクティブチャレンジはTurnstileのチェックボックスとまったく同じように見えることがあります。違いは、誰がそこにそれを設置したのか、何を制御するのか: ChallengeはCloudflareがオリジンを制御すること; Turnstileはサイトがフォームを制御することです。どちらも、チェックが通過したことを証明するトークンを最終的に生成します — Challengeにはcf_clearanceクッキー、Turnstileにはcf-turnstile-responseがあり、どちらもHTTP状態管理仕様に記載されたクッキーおよびヘッダーセマンティクスに従っています。
スクレーパーがそれぞれをどのように処理するか
どちらも実際のブラウザを稼働させることに依存していますが、成功条件は異なります。
チャレンジの場合、ページをレンダリングし、中間ページが実際のコンテンツに解決されるのを待ちます — ページのタイトルは「Just a moment…」から実際のタイトルに切り替わり、cf_clearanceクッキーがセッションに設定されます。Cloudflareが考慮する信号は、自動化されたリクエストを決定する際と同じです:JavaScriptが実際に実行されるかどうか、フィンガープリントが一貫しているかどうか、出口IPが信頼できるかどうかです。これが住宅の出口の重要性です。完全な説明は、Cloudflareチャレンジをクリアする方法のガイドにあります。
ターンスタイルの場合、フォームをレンダリングし、ウィジェットを実行させ、フォームを送信する前にコールバックからcf-turnstile-responseトークンを読み取ります — トークンはその後、Cloudflareのサーバーサイド検証に従ってサーバー側でチェックされます。トークンはウィジェットの設定に結び付けられているため、ウィジェットのパラメーターを知っておくと助けになります。これらを読む方法は、ターンスタイルのパラメーターを検出する方法のガイドでカバーされています。
両方の防御が捉えるように構築されている自動トラフィックのパターンは、OWASP自動脅威プロジェクトでカタログ化されています — これが、同じリアルブラウザアプローチが両方をクリアする理由です。
どちらに直面していますか?
迅速な判断ガイド:
- 「Just a moment…」または「人間であることを確認しています」と表示される完全なページが、コンテンツが読み込まれる前に表示される → Cloudflareチャレンジ。ページをレンダリングし、中間ページがクリアされるのを待ちます。住宅の出口を押さえます。
- フォーム上にチェックボックスや見えないウィジェットがあり、他の部分のページがすでに表示されている → ターンスタイル。フォームをレンダリングし、コールバックからトークンを読み取って送信します。
- 全体のサイトをゲートするチェックボックス → ターンスタイルスタイルのUIを使用したインタラクティブチャレンジ。オリジンをゲートするのでチャレンジとして扱いますが、ウィジェットのメカニクスは同じです。
管理されたクラウドブラウザはすべての3つをカバーしています — スクレイピングブラウザは、住宅の出口を持つリアルブラウザでそれぞれをレンダリングし、ドキュメントは完全なフローをカバーしています。ライブ実行では、Cloudflareチャレンジページを約20秒でクリアしました。
結論:どのメカニズムを見ているのかを知る
Cloudflareチャレンジとターンスタイルは、サイトの異なる問題を解決します:チャレンジはリクエストがオリジンに到達するかどうかを決定し、ターンスタイルは特定のアクションを人間が実行したことを確認します。彼らはウィジェット技術を共有しており、どちらもパスの証明トークンで終わりますが、出会う場所、デプロイする人、およびゲートするものはすべて異なります — それがどのように扱うかを決定します。どちらの方法でもリアルブラウザでレンダリングしてください。チャレンジのクリアランスを待ち、ターンスタイルのトークンを読み取り、リクエストがそのものであるように住宅の出口を押さえます。いずれのフローもスケールするには料金ページを参照してください。
AIパワードデータパイプラインの構築準備はできましたか?
コミュニティに参加し、無料プランを取得してボット対策フローを処理している開発者とつながりましょう:Discord · Telegram。
app.scrapeless.comで無料のスクレイピングブラウザランタイムにサインアップし、ターゲットが使用するチャレンジまたはターンスタイルのフローに上記のアプローチを適応させてください。
よくある質問
Q: Cloudflareチャレンジとターンスタイルは同じものですか?
いいえ。チャレンジは、Cloudflareがサイト全体へのアクセスを制御するために適用するエッジ保護です。ターンスタイルは、サイト所有者が特定のアクションを検証するために埋め込むウィジェットです。彼らはウィジェット技術を共有していますが、異なる参加者によってデプロイされ、異なるものをゲートします。
Q: どちらの状況にあるかをどうやって判断しますか?
完全なページが「Just a moment…」でコンテンツ全体をブロックしている場合、これはチャレンジです。フォーム上にチェックボックスまたは見えないウィジェットがあり、ページの他の部分が表示されている場合、これはターンスタイルです。全体のサイトをゲートするチェックボックスは、同じウィジェットUIを使用したインタラクティブチャレンジです。
Q: 各々は何を生成しますか?
チャレンジは、セッションをクリアするcf_clearanceクッキーを設定します。ターンスタイルは、サイトがサーバー側で検証する提出ごとにcf-turnstile-responseトークンを生成します。
Q: 同じように扱いますか?
どちらも実際のブラウザが必要です。チャレンジの場合は、表示してインタースティシャルが消えるのを待ちます。ターンスティルの場合は、フォームを表示し、コールバックからトークンを読み取り、送信します。住宅用エグレスは両方のケースで役立ちます。
Q: 1つのツールで両方を処理できますか?
はい。マネージドクラウドブラウザは、それぞれを実際のブラウザでレンダリングします — チャレンジのインタースティシャルをクリアし、ターンスティルウィジェットを実行するので、各々のために別々の処理を接続する必要がありません。
Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。



