Microsoft Hash DoS安全更新强制执行1000表单字段限制,打破大表单.我们该怎么重构?

Paw*_*wel 0 asp.net security patch

最新发布的(12月29日)微软安全更新解决了"哈希DoS"攻击漏洞,限制了1000个表单参数.不幸的是,这个限制打破了"非常大"的形式(例如带有动作链接的项目列表,例如200个具有5个复选框的项目= 1000个表单字段).我同意这样的大页面不是很常见,也不是理想的可用但它们确实存在(有时是有充分理由的)并且被新的补丁变得无法使用.

关于vulnrability/microsoft补丁的好消息可以在这里找到:

http://weblogs.asp.net/scottgu/archive/2011/12/28/asp-net-security-update-shipping-thursday-dec-29th.aspx

http://www.troyhunt.com/2011/12/has-hash-dos-patch-been-installed-on.html

有没有人有关于如何有效地转换具有> 1000表单字段的旧版ASP.NET表单页面以在修补系统上运行的想法?(除了人为地限制"页面大小"包含<1000个字段)?

Paw*_*wel 5

我从Scott Guthrie那里听到了一些信息,这使得这个问题没有问题:

2011年12月30日星期五11:15 PM ScottGu Pedro/PSmo,

新发布的安全更新解决了1000个表单参数的限制.

正确 - 一旦应用补丁,默认情况下将每个HTTP帖子的单个表单字段数限制为1000.这远远低于任何类型的DoS threashold,我们认为除了少数几个应用程序之外,它们足够大.

但是,此限制是可配置的,因此如果您确实需要发布超过1000个字段的方案,则可以增加它.您可以通过<appSettings>在应用程序的web.config文件部分中添加设置并相应地设置值来完成此操作.

例如:

<appSettings>

  <add key="aspnet:MaxHttpCollectionKeys" value="some number here"/>

</appSettings>
Run Code Online (Sandbox Code Playgroud)

我们已经启用了这个功能,您可以在任何应用程序中设置它,而不用担心它在未修补的服务器上中断.

希望这可以帮助,

斯科特