我有一个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>
答案 0 :(得分:0)
我会考虑使用HTML agility pack来解析内容,只允许白名单标记。
任意标记中都有numerous ways of getting script to execute(不一定需要&lt; script&gt;标记)。如果你试图避免XSS攻击,黑名单就不是一个可行的解决方案。
答案 1 :(得分:0)
如果您确实需要在文本中支持HTML,那么您可能应该集成一些WYSIWYG编辑器(例如TinyMCE)。
如果您不需要html,那么只需html编码所有用户输入。