【发布时间】:2011-11-07 20:05:29
【问题描述】:
我有一个 MVC 3 Web 应用程序项目,在一个页面中我使用 NicEdit 允许用户输入格式化文本。
当控制器接收到数据时,数据是html格式的……完美。 NicEdit 本身不允许脚本标签,也不允许在元素中直接输入 onFoo 事件,但一个不怀好意的用户可以强行输入脚本,这并不安全。
-
我可以做些什么来确保传入数据的安全...去除脚本标签,查找并删除 onXyz 事件...还有什么?
-
另外,最简单的方法是什么?我应该使用HtmlAgilityPack,还是有一个简单的函数可以通过一个简单的调用完成所有工作。
注意:仅对整个字符串进行编码不是有效的解决方案。当有人想查看提交的内容时,我想要一种方法来确保 Html 代码可以安全地呈现在另一个页面中。
谢谢!
【问题讨论】:
标签: c# asp.net-mvc-3 html-parsing