1

攻撃者が次のことを実行できないように、JavaScript でdocument.body.innerHTMLをフリーズする方法はありますか?

<script>document.body.innerHTML = document.body.innerHTML.replace("http://www.example.com/" , "http://abc.org" ); </script>

また、document.location をフリーズする方法は? ありがとう!

4

3 に答える 3

2

いいえ、JavaScript から DOM 要素のコンテンツをロックすることはできません。ここで間違った質問をしていると思います。おそらく、最初に攻撃者がコードを実行するために使用している脆弱性をプラグインする必要があります。

  • ユーザー入力をサニタイズしてタグを取り除く
  • DB からページに挿入されたコンテンツをサニタイズする
  • アプリケーションへの入力で html タグを許可しない

これらは、開始するのに適した場所です。

于 2012-06-05T17:36:22.823 に答える
1

いいえ、それを「凍結」する方法はありません。ページにサードパーティのスクリプトを含めないようにすることで、これを防ぐことができます。

于 2012-06-05T17:36:39.463 に答える
0

JavaScript ではそうではありません。それは単に不可能です。コードを他のどのコードよりも排他的にするにはどうすればよいでしょうか?

簡単な解決策は、XSS に対応しない安全なページを作成することです。外部から来るすべてのものを解析すれば、あなたのページは安全になります。

X-Frame-Optionsサイトがヘッダー付きのフレームに読み込まれないようにすることもできます。次のコンテンツを含む .htaccess ファイルを使用して、これを実現できます。

<IfModule mod_headers.c>
    # Secure frame optione
    Header always append X-Frame-Options SAMEORIGIN
</IfModule>
于 2012-06-05T17:36:33.370 に答える