0

プラスアイコンの入力フィールドがあります。プラス アイコンをクリックすると、入力の値が入力フィールドの上に追加されます。

実際、入力フィールドの上にコンテンツを追加するためのテンプレートを使用しています。プラス アイコンをクリックすると、それぞれのパターンを値に置き換え、jQuery 置換関数を使用して入力フィールドの上にコンテンツを配置します。

ハッカーが値を入力すると"<script>alert("hi");</script>"、レイアウトが崩れます。

jQuery を介してこの種の攻撃をブロックするにはどうすればよいですか? サーバー側の検証を実行できることは知っています。しかし、jQuery/クライアント側の検証を介してこれらの攻撃をブロックする方法はありますか?

4

1 に答える 1

1

それは簡単です。.html()jQuery のを使用しないでください.text()

エスケープは自動的に行われます。間違った API 関数を使用しないこと以外に特別な操作は必要ありません。

<div id="textDisplay"></div>
<input type="text" id="enteredText"> <button id="transferText">Click!</button>

$(function() {
    $("#transferText").click(function () {
        var userInput = $("#enteredText").val();

        $("#textDisplay").text(userInput);
    });
});
于 2013-09-10T05:50:24.610 に答える