18

在 ASP.NET 4.5 中有一个新的命名空间System.Web.Security.AntiXss,其中包括来自 AntiXssLibrary 4.0 版的编码例程 ( http://www.asp.net/aspnet/overview/aspnet-45/whats-new#_Toc318097382 )。

AntiXssLibrary 的最新版本是 4.2.1。

我很困惑在我的新项目中应该使用什么类型来编码输出 HTML:内置System.Web.Security.AntiXss.AntiXssEncoderMicrosoft.Security.Application.AntiXssEncoder来自 AntiXssLibrary。谁能告诉我首选使用哪种类型以及为什么?

4

1 回答 1

22

System.Web.* 命名空间中的一个是 Microsoft.Security.* 命名空间中的一个克隆,但 System.Web 一个稍作调整以获得更好的性能特征。我们建议继续使用 System.Web。

如果您按照http://www.asp.net/aspnet/overview/aspnet-45/whats-new#_Toc318097382<httpRuntime encoderType>中的描述设置设置,那么您可以只使用内置的编码例程,如 HttpUtility.HtmlEncode 和实现将由 Anti-XSS 库提供。

于 2013-08-12T18:19:07.843 回答