Rich TextBox也接受脚本标签

时间:2012-03-02 12:54:24

标签: asp.net richtextbox freetextbox

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

但我可以在此覆盖率标记中输入<script></script>

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

编辑:

如何验证它不允许脚本标签进入? 我们如何验证它是否为强制性字段? 如何在我的页面上管理多个textareas。但我希望只有一个作为丰富的编辑器而不是所有???

我尝试了一些代码,但它没有帮助我进行正确的验证。以下是片段。 的 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>

2 个答案:

答案 0 :(得分:0)

我会考虑使用HTML agility pack来解析内容,只允许白名单标记。

任意标记中都有numerous ways of getting script to execute(不一定需要&lt; script&gt;标记)。如果你试图避免XSS攻击,黑名单就不是一个可行的解决方案。

答案 1 :(得分:0)

如果您确实需要在文本中支持HTML,那么您可能应该集成一些WYSIWYG编辑器(例如TinyMCE)。

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