3

我需要为正在开发的 Web 应用程序清理用户输入(或输出)。用户输入只是纯文本,我想防止 HTML 或其他“有害”字符串。但是,应该允许使用小于、大于、撇号、与号、引号等字符。

我想第一步是禁用请求验证以防止通用的“检测到潜在危险值”消息,但我还需要做什么?例如,我不能简单地对输出进行 htmlencode 编码,否则我最终会显示 < 来代替小于字符。

有什么工具可以提供帮助吗?我快速浏览了 AntiXSS 库,但据我所知,它只是一个美化的 htmlencoder,还是我遗漏了什么?MVC 怎么样 - 这有什么内置的吗?

我从来没有找到一篇关于这种事情的像样的文章。有人说要清理输入,而其他人说要清理输出,示例通常过于简单化,使用 htmlencoding 之类的技术,它将重新格式化完全有效的字符,例如小于。

4

1 回答 1

2

Anti-XSS 库是目前ASP.Net WebForms 中的标准库。虽然它是次优的。最新版本 ( 4.2 ) 有几个暂时未修复的重大错误。

另请参阅 MSDN 文章信息安全 - 反跨站点脚本

请参阅我应该在 ASP.NET MVC 中使用 Anti-XSS 安全运行时引擎吗?关于 MVC 的回答。从那个答案:

Phil Haack 在这里有一篇有趣的博客文章 http://haacked.com/archive/2009/02/07/take-charge-of-your-security.aspx。他建议将 Anti-XSS 与 CAT.NET 结合使用。

于 2013-04-06T13:56:47.077 回答