どのサイトでもCAPTCHAが出るのはなぜ? 原因と対処法

CAPTCHAが何度も出る原因は、ほぼ例外なくネットワーク経路、ブラウザ設定、またはその両者の食い違いにあります。よくある順に原因を並べ、それぞれの対処法を紹介します。
CAPTCHAが繰り返し表示されるときは、たいてい同じことが起きています。サイトへのアクセスの仕方が機械のように見える、あるいは一つの出入口を大勢で共有しているように見えるため、サイト側がより明確なシグナルを得るまで入場のハードルを上げているのです。チェックは症状にすぎません。原因はネットワーク経路か、ブラウザ設定か、あるいはその二つがサイトに別々の話を伝えていることにあります。
以下の原因を順に確認してください。最初の三つが圧倒的に多く、いずれもトラフィックの送信元アドレスという同じ場所にあります。
まずアドレスから。たいていここが原因です
アドレスが共有されている、または過去の履歴がある
ほとんどの回線では、自分専用のアドレスは割り当てられません。携帯キャリアや多くの家庭向けプロバイダは、多数の契約者を少数のグローバルアドレスの背後にまとめています。オフィス、キャンパス、コワーキングスペースも同じです。そのアドレスの背後にいた誰かが朝に何かをすれば、その結果を午後のあなたが引き継ぐことになります。
安価なプロキシプールも同じ仕組みで、しかも条件はより悪くなります。共有のレジデンシャルプールは同じアドレスをその時間に購入した人へ貸し出すため、先にそのアドレスから大量のログイン試行を受けたサイトは、次のアクセスにも慎重になります。
対処は、まず自分が実際にどのアドレスを提示しているかを調べ、売り文句を信じるのではなくテストすることから始まります。PowerOpsでは、プロキシをライブラリに追加し、アカウントに近づける前にテストします。テストでは実際に観測されたアドレスが報告されます。経路が共有だと分かったら、そうでない経路にプロファイルを移してください。
データセンターのアドレスである
ホスティング事業者に属するアドレス範囲は公開され、台帳化されており、調べるのは簡単です。データセンターのアドレス自体に問題はなく、ごく普通のトラフィックも多く流れています。ただ、個人向けアカウントにログインしている状態としては珍しい場所であり、サイトはそれ相応に重く見ます。
対処は、データセンターのアドレスを個人ログインを伴わない作業に限り、アカウントのセッションにはレジデンシャルまたはモバイルのアドレスを使うことです。コストは上がり、手間は減ります。この取引が判断のすべてです。
誰もが使うVPNの出口にいる
一般向けのVPNは、非常に多くの人をごく少数の出口アドレスに集中させます。製品として設計どおりの動作です。そのため、VPN経由のセッションは他では受けないチェックを受けることになります。そのアドレスが監視対象になったのはあなたのせいではなく、単に量が多いからです。
対処は、固定アドレスを提供する事業者から、プロファイルごとに専用の経路を用意することです。無関係な用途でVPNが必要なら、アカウント作業を行うマシンやプロファイルからは切り離し、プロキシの上に重ねて使うことは絶対に避けてください。
セッションの途中でアドレスが変わる
ローテーション型のエンドポイントは、リクエストごとや一定間隔ごとに新しいアドレスを割り当てます。公開データの収集には便利ですが、ログイン済みのセッションでは自分で作った問題になります。ある都市で始まったセッションが数分後に別の都市から続くのは、人間がやらないことを示しています。
この原因には特徴的なパターンがあります。最初の数分は問題なく、その後すべてのページ遷移でチェックが出て、途中で突然ログアウトされることもよくあります。
対処は、エンドポイントを固定またはセッション維持モードに切り替え、保持時間を作業セッションより長く設定することです。経路は最初のログインの前に割り当ててください。最初のセッションが、そのアカウントにとっての「普通」を決めるからです。
次に、ブラウザが一貫した話をしているか確認する
タイムゾーン、言語、アドレスが食い違っている
フランクフルト経由のプロファイルがロサンゼルスのタイムゾーンを報告していれば、同じ質問に二通りの答えを返したことになります。ブラジルのアドレスを示しながらブラウザの言語リストがベトナム語だけ、という場合も同じです。どの値も単独では不自然ではありません。しかし組み合わせると、サイトが最も安く探せる矛盾になります。
対処は、プロファイルのタイムゾーンと言語リストを経路の着地国に合わせ、経路を変えるたびに両方をまとめて確認することです。これはこの一覧の中で最も多い自分で招く原因であり、直すのに十秒ほどしかかかりません。
リクエストのリズムが自動化に見える
ぴったり4秒間隔のページ読み込み。フォーカスイベントなしで一瞬で埋まるフォーム。スクロールが一切ないナビゲーション。同じサブネットから同じ秒に同一の操作をする十数個のプロファイル。どれも禁止されてはいませんが、すべて珍しい動作であり、珍しいことこそ入場のハードルを上げる原因になります。
対処はペース配分です。すべてを一度に起動せず、プロファイルの開始時刻をずらしてください。スクリプトによる作業には変動する待ち時間を入れ、次の操作の前にページが落ち着くのを待ちます。バッチは小さくします。人間より速くサイトを巡回するスクリプトに対して、サイトが相手は誰かと尋ねるのは当然の権利です。
最後に、ブラウザが保持するものとブロックするものを見る
Cookieが古い、存在しない、または毎晩破棄されている
多くのチェックは自分の結果を記録します。一度通過すると、サイトは「このブラウザはすでに回答済み」と示すものを保存し、しばらくチェックは表示されなくなります。終了のたびにCookieを消す、プライベートウィンドウで閲覧する、毎回新しい一時プロファイルを立ち上げる、といった使い方をすると、その記録はセッションごとに捨てられ、次の訪問はゼロからやり直しになります。
対処は、専用の永続ディレクトリを持つプロファイルを使い、状態がきちんと書き出されるように正しく閉じることです。セッション中に強制終了されたプロファイルは、得たばかりの記録を失うことがあります。
チェックに必要なスクリプトがブロックされている
チェックはスクリプトとして動作し、多くの場合、閲覧中のサイトではなくセキュリティ事業者のドメインから読み込まれます。強力なコンテンツブロッカー、スクリプトブロッカー、強化されたプライバシー拡張機能、無効にしたサードパーティストレージは、いずれもこの読み込みを妨げます。チェックが完了しないため再試行が繰り返され、利用者から見ると無限ループや、回り続けて終わらないチャレンジの枠になります。
次の順で確認してください。
- 拡張機能が一切ないプロファイルで同じページを開きます。ループが止まれば、原因は拡張機能です。
- ループが再発するまで、拡張機能を一つずつ有効に戻します。たいていの犯人はコンテンツブロッカーとプライバシー強化系です。
- ブロッカーを全面的にオフにするのではなく、チャレンジ事業者のドメインだけを許可します。
- そのサイトでJavaScriptとサードパーティストレージが無効になっていないか確認します。
- システム時計を確認します。数分ずれているとチャレンジが依存する署名付きトークンが壊れ、しかもその失敗は時計の問題とはまったく違って見えます。
症状から原因を探す
左の列で自分の症状を探し、右の列の対処から始めてください。
| 症状 | 最も可能性の高い原因 | 最初に試すこと |
|---|---|---|
| 最初のリクエストから、どのプロファイルでもどのサイトでもチェックが出る | アドレス自体の問題。共有、混雑、またはデータセンター範囲 | 経路をテストし、アドレスの帰属先を調べる |
| 特定のプロファイルだけ影響があり、他は正常 | そのプロファイルの経路または保存状態 | 他を変える前に、問題のないと分かっている経路に差し替える |
| 数分は問題なく、その後すべてのページ遷移でチェックが出る | ローテーション型エンドポイントがセッション中にアドレスを変えている | エンドポイントを保持時間の長い固定モードに切り替える |
| チェックを通過しても、同じチェックがすぐ戻ってくる | 通過結果が保存されていない、または必要なスクリプトがブロックされている | 終了時のCookie削除をやめ、拡張機能をオフにして再試行する |
| チャレンジの枠が回り続けて終わらない | ブロッカーがチャレンジのスクリプトの読み込みを止めている | 事業者のドメインを許可し、システム時計を確認する |
| ログイン前にサイトが違う言語で表示される | ロケールと経路が食い違っている | プロファイルの言語とタイムゾーンを経路の国に合わせる |
| プロキシを変えた直後から始まった | 新しいエンドポイントの履歴 | エンドポイントをテストし、事業者に別のものを依頼する |
| 拡張機能の更新直後から始まった | その拡張機能 | そのサイトで無効にして再読み込みする |
やってはいけないこと
次のような反射的な行動は、ほぼ確実に状況を悪化させます。
- チェックから逃れるためにプロファイルのIDをランダム化しないでください。訪問のたびに変わるデバイスは、心配していたどの要素よりも大きなシグナルになり、すでに通過したチェックの保存済みの証拠もすべて失われます。
- 最初の対応としてCookieを消さないでください。そのCookieは通過した記録です。消せば、次の訪問は必ず何もない状態から始まります。
- プロキシの上にVPNを重ねないでください。二つの経路が居場所について食い違うだけでなく、遅延が増えて通常のタイミングまで不自然に見えます。
- 再読み込みを連打しないでください。同じアドレスからの失敗の繰り返しは、まさにチェックが測定している行動です。
- セッションの途中でアカウントを新しい経路へ移さないでください。セッションを終え、経路を変え、あらためてログインします。
そして一つ、私たちが支援しないことがあります。これらのチェックを自動で解くことは、PowerOpsの機能の範囲外であり、このブログが解説する範囲の外でもあります。それを販売するサービスは存在しますが、私たちは連携せず、文書化もせず、製品のどの部分もセキュリティチェックを突破するために作られてはいません。ここまでの内容はすべて、サイトが確認を求める理由そのものを取り除くためのものです。代わりに質問へ答える行為は別の商売であり、私たちはそこには踏み込みません。
それでも解決しない場合
チェックがあなたとは無関係なこともあります。攻撃を受けているサイトはすべての訪問者に対して基準を引き上げ、一国全体のトラフィックが一日二日、より厳しいルールの下に置かれることもあります。午後を丸ごと費やす前に、プロキシもプロファイルも使わない通常の回線で同じページを開いてみてください。そこでもチェックが待っているなら、答えは待つことです。
それ以外の場合は、短い一覧に行き着きます。履歴のある経路。じっとしていない経路。互いに食い違う値。得たものを保持できないブラウザ。この四つを直せば、CAPTCHAは日々の仕事の形を決めるものではなく、ときどき出る煩わしさに戻ります。


