在MVC应用程序中将encoderType设置为AntiXssEncoder有什么好处?

时间:2014-11-17 16:20:20

标签: asp.net-mvc antixsslibrary

在.Net 4.5的What's New页面中,它表示您可以将encoderType设置为使用AntiXssEncoder类型。 http://www.asp.net/aspnet/overview/aspnet-and-visual-studio-2012/whats-new#_Toc318097382

<httpRuntime ...
    encoderType="System.Web.Security.AntiXss.AntiXssEncoder,System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

但是修改默认的encoderType有什么好处?

感谢。

2 个答案:

答案 0 :(得分:2)

AntiXssEncoder使用白名单方法识别恶意输入[导致跨站点脚本(XSS)的输入]。

ASP.Net中的默认编码器使用黑名单方法。

两者都对数据进行输出编码。从安全角度来看,基于白名单的方法应始终优于黑名单方法以识别恶意。

摘自http://weblogs.asp.net/jongalloway/using-antixss-4-1-beta-as-the-default-encoder-in-asp-net

  
      
  1. 由于使用白名单方法,AntiXSS本质上更安全。许多安全审核和认证都要求您   使用白名单XSS编码器,因为黑名单总是潜在的   易受未知攻击。
  2.   
  3. 较新的浏览器内置了更好的XSS过滤功能,但旧版浏览器存在漏洞(例如UTF-7字符集切换)   不会被ASP.NET默认编码器检测到。
  4.   

答案 1 :(得分:0)

它可以完全控制输入值。当字符串有一些恶意代码时,antixss库会将其删除以保护。

http://haacked.com/archive/2010/04/06/using-antixss-as-the-default-encoder-for-asp-net.aspx/