4

在.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 有什么好处呢?

谢谢。

4

2 回答 2

3

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. 较新的浏览器内置了更好的 XSS 过滤,但在较旧的浏览器中存在漏洞(例如 UTF-7 字符集开关),ASP.NET 默认编码器无法检测到这些漏洞。
于 2014-11-18T13:28:56.450 回答
0

它设置了对输入值的完全控制。当字符串中有一些恶意代码时,antixss 库将其丢弃以进行保护。

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

于 2014-11-17T23:07:42.327 回答