我在this文章中注意到Microsoft不建议在公共站点使用Ajax Control Toolkit中的Editor控件,因为存在跨站点脚本攻击的危险。我试了一下,即使你专门设置NoScript =“true”,也可以添加脚本,因此会引入XSS攻击漏洞。在我的情况下,我们正在开展奖学金申请程序,我们希望所有被提名者都可以在网上输入一篇论文。我们想要获取数据并将其重新显示给审查委员会,但显然,这是一个坏主意。
所以我想知道是否有人知道一种简单的方法来验证内容以允许HTML,而不是脚本,可能使用我可以在代码隐藏中使用的CustomValidator或Regular Expression。我知道白色列表验证更好,而不是黑名单验证,我特意寻找。
或者,如果有人知道类似的控制确实可以防止XSS攻击,那也是好的。
答案 0 :(得分:4)
AntiXSS库的最新版本现在进行了一些HTML清理工作,我认为它可以做你想要的。请查看Blowdart上的here博客。
2015年9月15日更新:
AntiXSS已进入.Net 4.0 Framework,在.config
文件中启用它。