Firefox と Chrome の場合、検出を防ぐための特効薬はありません。これはプロセスであり技術です...
サイトがスクリプトを検出する3 つの主な方法は次のとおりです。
AJAX リクエストの順序が間違っているか、頻度が高すぎます。
ページのコード (HTML、グローバル JS、または CSS) の変更。
不自然なマウスまたはキーボードの動作。
「私がユーザースクリプトを実行しているかどうか、ウェブサイトは知ることができますか?」を参照してください。詳細については。
いくつかの対策:
スクリプトが行う AJAX リクエストの場合:
- Wiresharkなどを使用して、通常の AJAX 呼び出しのトラフィックを分析します。同じ種類の呼び出しを同じ順序で送信するようにしてください。
- リクエストがページと同じヘッダーとデータを表示していることを確認してください。
- ページが通常よりも速く、またはユーザーが合理的にトリガーできるよりも速く AJAX 要求を送信しないでください。
- スクリプトのリクエストにランダムな遅延を追加して、タイミングが均一にならないようにすることを検討してください。
- ページのリクエストのフィールドが絶えず変化することに注意してください。正しい値を生成する方法を知っていることを確認してください。切って貼るだけじゃない。
ページのコードに加えた変更の場合:
ページは、独自の JavaScript を使用してこれらを完全にローカルで処理するか、ステータスまたはコード フラグメントをサーバーに送り返すこともできます。
ページの JavaScript をブロックして置き換えます。NoScript、RequestPolicy、ファイアウォール、プロキシなどのツールを使用して JS をブロックできます。
次に、Greasemonkey を使用して、ページの JS の編集済みバージョンを追加します。ページのすべての JS が無効になっている場合でも、Greasemonkey は実行されます。
ページがステータス ホームを呼び出し、スクリプトの変更に応じてそのステータスが変化する場合は、それらのメッセージをインターセプトして置き換えます。(前の方法を使用した場合、これは必要ありません。) これを行うには、カスタム ファイアウォール、プロキシ、またはルーターが必要です。
トリガーするイベント (マウス クリック、フィールドへの入力など) の場合:
- ページがこれをチェックする場合は、探しているものを指定してください。たとえば、イベントの代わりに、、、、シーケンスが
click
必要になる場合がありmouseover
ます。mousedown
mouseup
mouseout
- それでも不十分な場合は、ページのコードを変更する場合と同じ対策を講じます (JS を置き換え、ステータス メッセージをインターセプトします)。
重要!ユーザースクリプトを妨害しようとするサイトと戦っているというまれなイベントでは、それは戦争のようなものです
. ウェブマスターはあなたがしていることに適応することができ、環境は常に変化する可能性があります. したがって、そのようなサイトのスクリプト作成は進行中のプロセスです。