0

我有一个 aspx 表单,我们使用 freetextbox 作为我的富文本编辑器来制作条目。

但我可以输入<script></script>这个到达标签。

我如何在客户端验证它不应该接受任何包含在 javascript 库中的脚本。

编辑:

我如何验证它不允许脚本标签进入它?我们如何验证它的必填字段?textareas我如何在我的页面上管理多个。但我只想让一个成为富有的编辑而不是全部???

我尝试了一些代码,但它并没有帮助我进行正确的验证。下面是片段。 脚本

<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,那么您可能应该集成一些所见即所得的编辑器(例如TinyMCE )。

如果您在那里不需要 html,那么只需对所有用户输入进行 html 编码。

于 2012-03-02T13:18:22.693 回答