この記事では、よくある疑問にできるだけお答えしました。まず最初のステップは、どのような保護システムが使われているかを特定することです。そのために、代表的なキャプチャやボット対策システムの一覧を参照できます。ここには、どの仕組みが使われているかを素早く見分けるための画面イメージや主な特徴がまとめられています。
もしサイトで Cloudflare Waiting Room が使われていることが分かったら、次のステップはその特徴と動作をより詳しく確認することです。同じこの記事の中で、Cloudflare Waiting Room をサイトに導入するための手順書も確認できるので、あなたのサイト上でどのように機能しているのかをしっかり理解できます。これにより、現在の保護を正しく把握できるだけでなく、今後の運用や保守も計画的に行えるようになります。
Waiting Room のメカニズムをテストする際、キューが正しく機能し、サイトへのアクセスを適切に制御していることを確認することが重要です。
確認方法は以下の通りです:
自動テストやキャプチャ認識には、例えば CapMonster Cloud のような専門サービスを利用できます。これはキャプチャのパラメータを受け取り、サーバー側で処理して解決策を返すツールです。この解決策(トークンやクッキー)をフォームやブラウザに適用することで、ユーザー操作なしで認証を通過できます。
CapMonster Cloud API を使った一般的な手順:
Cloudflare Waiting Room を解決するためのリクエストには、以下のパラメータを指定する必要があります:
type - TurnstileTask;
websiteURL - チェックが存在するページのURL;
websiteKey - ターゲットサイト上の Cloudflare キー;
cloudflareTaskType - wait_room;
htmlPageBase64 - Base64形式のHTMLページ(タイトル <title>Waiting Room powered by Cloudflare</title> が含まれているもの);
userAgent - ブラウザの User-Agent。Windows OS からの最新の UA のみを送信してください;
また、このタスクにはご自身のプロキシを使用する必要があります:
proxyType :
proxyAddress - プロキシの IP アドレス IPv4/IPv6;
proxyPort - プロキシのポート;
proxyLogin - プロキシサーバーのログインID;
proxyPassword - プロキシサーバーのパスワード.
https://api.capmonster.cloud/createTask{
"clientKey":"API_KEY",
"task": {
"type":"TurnstileTask",
"websiteURL":"https://example.com",
"websiteKey":"xxxxxxxxxx",
"cloudflareTaskType": "wait_room",
"htmlPageBase64": "PCFET0NUWVBFIGh0...vYm9keT48L2h0bWw+",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36",
"proxyType":"http",
"proxyAddress":"8.8.8.8",
"proxyPort":8080,
"proxyLogin":"proxyLoginHere",
"proxyPassword":"proxyPasswordHere"
}
}{
"errorId":0,
"taskId":407533072
}https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}{
"errorId": 0,
"status": "ready",
"solution": {
"cf_clearance": "1tarGvbY2_ZhQdYxpSBloao.FoOn9VtcJtmb_IQ_hCE-1761217338-1.2.1.1-vyVPoLYIGX0VCJomVuLjF7n0kdM0PXaPjpDsRcohxGr7hb2CE7WfcHpmQZ70goqEjdWxPsDhSVaKNTz9opxWguiNdWEEq_.SceWXIqfP7tnEb69f3bP0mixNqcWy_5P_9INpoAEqr1k7aYU0r45PT4gPr5pwHxedVySyLRdoBXIJasdTE52YOQ3NPdGWTwQ_3h2n_wYqqIvf0kCSAvimRrmsgZxomlyejwqPI6ZHi.w"
}
}取得したソリューション (cookie cf_clearance) は、ブラウザに設定するか、HTTPリクエストのヘッダーに Cookie: cf_clearance=<値> を指定して送信できます。また、自動化やテストには Puppeteer、Selenium、Playwright などを使用すると便利です。これらを使えば、ユーザー操作のエミュレート、クッキーの挿入、フォームの送信が可能です。
以下は、事前に取得したクッキー値を使用したページへのリクエスト例です。これはテストに便利です。正しい値と意図的に間違った値の両方を送信して、アクセス処理や検証ロジックが正しく機能しているか確認できます。
GET https://example.com/
sec-ch-ua: "Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
upgrade-insecure-requests: 1
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
sec-fetch-site: same-origin
sec-fetch-mode: navigate
sec-fetch-user: ?1
sec-fetch-dest: document
accept-encoding: gzip, deflate, br
accept-language: en-US
cookie: cf_clearance=Jf0udVxx.pxJMEHnish22ZOFt4WZEh8iLKm62gIxQAw-1760087570-1.2.1.1-IAO44jrcaDIU6v3f01Q6MpH58vo521.cgZg9OG5ASav.EIf9fmqH2yETyPkmm7dExFNlRL.dYv6xA4iPtlwMepInUaeFinDbYtoMstD_9Vyexx2B2K.r4eJb9zMCQc0XA3yYDHViOC7cYBYHi58FbvycjBe4o236lyz2eoyC48IS.K1zSsVdqBqIoXIT4tEFYdibXdWudtp57lmyjwpryZy..fGFAcFjAGn3iho98_4
sec-ch-ua-arch: "x86"
sec-ch-ua-bitness: "64"
sec-ch-ua-full-version: "141.0.7390.55"
sec-ch-ua-platform-version: "19.0.0"
sec-ch-ua-model: ""
sec-ch-ua-full-version-list: "Google Chrome";v="141.0.7390.55", "Not?A_Brand";v="8.0.0.0", "Chromium";v="141.0.7390.55"
Origin: https://example.com
Upgrade-Insecure-Requests: 11. Cloudflare に登録し、サイトを連携させます。
2. Traffic(トラフィック)→ Waiting Room セクションで、新しいキューを作成します:
3. Create Waiting Room(Waiting Room を作成)をクリックします。
以下を指定します:
4. 待機ページのデザインをカスタマイズします:
5. Waiting Room を保存して有効化します。
6. ルール(Rules)の設定
Cloudflare では、特定のトラフィックをキューから除外することができます。
一般的なバイパスルール(Bypass Rules):
以下を設定します:
すべてのバイパスルールにより、トラフィックをアクティブユーザー数から除外できるため、キューに影響を与えません。
高度な機能:
API による管理:
Cloudflare Waiting Room API では以下が可能です:
POST zones/{zone_id}/waiting_rooms/{room_id}/rules
Content-Type: application/json
Authorization: Bearer <API_TOKEN>
{
"description": "Bypass admins",
"expression": "ip.src in { '1.2.3.4', '5.6.7.8' }",
"action": "bypass_waiting_room",
"enabled": true
}動作確認
1) 異なるブラウザやデバイスからサイトを開きます。
2) 以下を確認します:
すでにキャプチャや別の保護システムが導入されているサイトを引き継いだものの、コードにはアクセスできない場合でも心配はいりません!どの技術が使われているかを特定するのはそれほど難しくありません。動作が正しいか確認するには、隔離されたテスト環境で認識サービスCapMonster Cloudを利用し、トークン処理の仕組みと検証ロジックが正しく機能しているかをチェックできます。
Cloudflare Waiting Roomの場合も、システムを特定し、その挙動を調べて、保護機能が正しく動いていることを確認すれば十分です。この記事では、Cloudflare Waiting Roomを見分ける方法と、その導入や再設定に関する手順書の見つけ方を紹介しました。これにより、防御を安心して維持し、その動作をしっかりと管理できます。