0

エントリを作成するためのリッチテキストエディタとしてfreetextboxを使用したaspxフォームがあります。

しかし、私は<script></script>このリーチタグを入力することができます。

javascriptライブラリに含まれているスクリプトを受け入れないようにクライアント側で検証するにはどうすればよいですか。

編集:

スクリプトタグを許可しないことを検証するにはどうすればよいですか?必須フィールドについてどのように検証できますか?textareasページ上で複数を管理するにはどうすればよいですか。しかし、私は1つだけをリッチエディターにしたいのですが、すべてではありませんか?

私はいくつかのコードを試しましたが、適切な検証には役立ちませんでした。以下はスニペットです。 SCRITPT

<script>
    $(document).ready(function () {

        var $btn = $("#<%=btnSubmit.ClientID %>");
        var $txtEditor = $("#<%=txtEditor.ClientID %>");

        $btn.click(function () {
            alert($txtEditor.html()); 
            return false;
        })

    });

</script>

HTML

<div>
            <asp:TextBox id="txtEditor" runat="server" TextMode="MultiLine"></asp:TextBox>
        </div>
        <div>
        <asp:Button id="btnSubmit" runat="server" Text="Save" />

        </div>
4

2 に答える 2

0

HTMLアジリティパックを使用してコンテンツを解析し、ホワイトリストに登録されたマークアップのみを許可することを検討します。

スクリプトを任意のマークアップで実行する方法は多数あります(必ずしも<script>タグは必要ありません)。XSS攻撃を回避しようとしている場合、ブラックリストは実行可能な解決策ではありません。

于 2012-03-02T13:12:03.740 に答える
0

テキストでサポートHTMLが必要な場合は、おそらくWYSIWYGエディター(TinyMCEなど)を統合する必要があります。

そこでhtmlが必要ない場合は、すべてのユーザー入力をhtmlエンコードするだけです。

于 2012-03-02T13:18:22.693 に答える