サイトが iframe 内に埋め込まれるのを防ぐために、アンチフレーム JavaScript を実装しました。しかし、フレームバスの取り組みを回避できる悪意のあるコードが発見されました。この問題は興味深い疑問を引き起こします: フレームバスティング バスターを出し抜くことができますか?
攻撃者のコードは、ページ ナビゲーションの試行中にカウンターをインクリメントし、タイマーを使用してページを HTTP で応答するリモート サーバーにリダイレクトすることによって動作します。ステータス コード 204 により、事実上ナビゲーションが妨げられます。
アンチフレーミング コードはバイパスでき、攻撃者が使用するカウンターおよびタイマー メカニズムを無効にすることで制御を取り戻すことができます。方法は次のとおりです。
onbeforeunload イベントは、攻撃者がカウンターをインクリメントするために使用します。無効にするには、次のコマンドを使用します。
window.onbeforeunload = null;
setInterval タイマーを一時停止するには、clearInterval 関数を使用します。
var intervalID = setInterval(function() { // ... }, 1); clearInterval(intervalID);
主要なブラウザの場合、X-Frame-Options ヘッダーを使用すると、スクリプトが無効になっていてもフレーム化できます。例:
X-Frame-Options: SAMEORIGIN
以上がフレームを破壊するバスターを出し抜くことができるでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。