【问题标题】:Ensure safety of submited Html by the client, in server side确保客户端提交的 Html 的安全性,在服务器端
【发布时间】:2011-11-07 20:05:29
【问题描述】:

我有一个 MVC 3 Web 应用程序项目,在一个页面中我使用 NicEdit 允许用户输入格式化文本。

当控制器接收到数据时,数据是html格式的……完美。 NicEdit 本身不允许脚本标签,也不允许在元素中直接输入 onFoo 事件,但一个不怀好意的用户可以强行输入脚本,这并不安全。

  1. 我可以做些什么来确保传入数据的安全...去除脚本标签,查找并删除 onXyz 事件...还有什么?

  2. 另外,最简单的方法是什么?我应该使用HtmlAgilityPack,还是有一个简单的函数可以通过一个简单的调用完成所有工作。

    注意:仅对整个字符串进行编码不是有效的解决方案。当有人想查看提交的内容时,我想要一种方法来确保 Html 代码可以安全地呈现在另一个页面中。

谢谢!

【问题讨论】:

    标签: c# asp.net-mvc-3 html-parsing


    【解决方案1】:

    您可以使用AntiXss 库。危险脚本将被删除:

    string input = ...
    string safeOutput = AntiXss.GetSafeHtmlFragment(input);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多