たとえば、URL を入力して Enter キーを押すと、別の場所に移動するとは予想しません。その URL のサイトがない場合は、エラー ページが表示されると予想します。しかし、代わりに別の URL (別のドメイン: )abc.com
にリダイレクトされます。abc.go.com
私は Web テクノロジの専門家ではありませんが、私の知る限り、リダイレクトには、DNS/レジストラ リダイレクト (非表示) とサーバー側リダイレクト (表示、http コード 301 または 302) の 2 つの主なカテゴリがあります。
Chrome でこれらのサーバー側リダイレクトを防ぐにはどうすればよいですか? 最良のシナリオは、ページの URL または IP が異なることを通知し、続行するかどうかを尋ねるプロンプト ページが表示されることです。
もう 1 つの例として、hackoverflow.com
ここから 2 つのサイトにリダイレクトされます。最初のリダイレクトの後、パーキング サイトに移動する前に、デザインされたホームページをちらっと見ることができます。この二重リダイレクトを途中で停止し、2 番目のサイトを調べたいと思います。
答え1
これはコンテンツを提供する応答にのみ機能するため、完璧な回答からは程遠いことは承知していますが、現時点では有用で実用的な回答がまったくないため、投稿することにしました。
手っ取り早い解決策としては、デバッガー (ほとんどのブラウザーでアクセス可能) を使用して、リダイレクトをオプトアウトする機会を自分に与えることができる場合がありF12
ますCTRL+SHIFT+I
。
ページが独自のスクリプトを実行する前に、コンソールで次の行を実行します。
window.onbeforeunload = function(){ return 'Leave page?'; };
たとえば、Chrome を使用する場合:
- デバッガ(
F12
)を開き、出典タブ。 - 押す
F8
とデバッガーがステップスルー モードになります。 - 問題のあるページに移動します。読み込みは開始されますが、デバッガーはスクリプトの実行を許可しません。
- 上記のコードをコンソールに貼り付けて、Enter キーを押します。
- もう一度押す
F8
とスクリプトが実行され、ページの読み込みが完了します。 - これで、リダイレクトが発生する前にプロンプトが表示され、リダイレクトをキャンセルできるようになります。
- ページが繰り返しリダイレクトを試行する場合は、ダイアログを再度表示しないように Chrome に指示できます。ページが別の場所への移動を試行しても、何も表示されずに失敗します。
答え2
リダイレクトを一時的に停止する別の方法は、esc
リダイレクトが発生する前にボタンを押すことです。
esc
ページ内の js の実行だけでなく、html のレンダリングも停止します。そのため、すぐに押すとリダイレクトは行われませんが、ページが完全に読み込まれない可能性があります。ページの内容や Cookie などのその他の情報を調査するのに役立ちます。
答え3
この問題に関する私の経験では、あらゆる状況でこれに対処する優れた方法はありません。つい先日、銀行のフィッシング詐欺を分析しているときにこの問題に遭遇しました。しばらくぶりだったので、この問題に関するリマインダーを探していました。Chrome でページが自動的にリダイレクトされないように変更してみましたが、何も機能しませんでした。機能しなかった理由は、ページの上部に次の内容が表示されていたためです。
<html>
<head>
<meta content='0;URL='https://scam-website-two.scam'' http-equiv='refresh' />
</head>
<!-- other HTML here -->
</html>
このmeta
タグは、最初の詐欺サイトに到達した後、2番目の詐欺サイトにリダイレクトしていました。meta
タグによるリダイレクトに関する詳細情報ここ。
したがって、私が知る限り、リダイレクトを止めることはできませんでした。しかし、このような厄介な状況に対する私の代替策は、Web ページをテキスト ファイルとしてダウンロードし、コンテンツを分析することであり、まさにそれを実行したので、私は気にしませんでした。
これを行うにはさまざまな方法があります。私は詐欺を分析する専用の Linux VM 内で作業していたので、ターミナル (bash) 内で次の操作を実行しました。
content=$(wget http://scam-website-one.scam -q -O -)
echo $content > scam.html
まとめると、基本的なアルゴリズムは次のようになります。
- 言語を選択
- 問題のあるURLに対してHTTP GETを実行します
- 出力文字列を変数に保存する
- 出力文字列をファイルに保存する
前に述べたように、これは少なくともリダイレクトの原因を確認するのに役立ちます。ファイルをダウンロードした後、そのmeta
タグを削除してページを確認することができました。
答え4
私の知る限り、この機能を無効にする方法はありません。
さらに重要なのは、そうすることで、Web サーバーが依存する非常に基本的な機能が壊れてしまうことです。多くの Web サイトが機能しなくなることが予想されます。
最低限、 - すべての「www」リダイレクトが機能しなくなる - すべての「httpからhttps」リダイレクトが機能しなくなる
そのため、手動で「https://www' を各ドメインの前に付けます。
さらに、ウェブサイト内の多くのサブページも機能しなくなります。
したがって、Chrome と Firefox の開発者が、ブラウザ レベルでリダイレクトを完全に無効にすることを非常に困難または不可能にしているとしても、私は驚かないでしょう。