在.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有什么好处?
感谢。
答案 0 :(得分:2)
AntiXssEncoder使用白名单方法识别恶意输入[导致跨站点脚本(XSS)的输入]。
ASP.Net中的默认编码器使用黑名单方法。
两者都对数据进行输出编码。从安全角度来看,基于白名单的方法应始终优于黑名单方法以识别恶意。
摘自http://weblogs.asp.net/jongalloway/using-antixss-4-1-beta-as-the-default-encoder-in-asp-net
- 由于使用白名单方法,AntiXSS本质上更安全。许多安全审核和认证都要求您 使用白名单XSS编码器,因为黑名单总是潜在的 易受未知攻击。
- 较新的浏览器内置了更好的XSS过滤功能,但旧版浏览器存在漏洞(例如UTF-7字符集切换) 不会被ASP.NET默认编码器检测到。
醇>
答案 1 :(得分:0)
它可以完全控制输入值。当字符串有一些恶意代码时,antixss库会将其删除以保护。
http://haacked.com/archive/2010/04/06/using-antixss-as-the-default-encoder-for-asp-net.aspx/