微软最近(2011年12月29日)发布了一个更新,以解决网络中的几个严重安全漏洞.NET框架.MS11-100引入的其中一个修复暂时缓解了涉及哈希表冲突的潜在DoS攻击.这个修复程序似乎会 destruct 包含大量帖子数据的页面.在我们的例子中,在有非常大的复选框列表的页面上.为什么会这样?
一些非官方来源似乎表明,MS11-100对回发项目设置了500个的限制.我找不到微软的消息来源来证实这一点.我知道视图状态和其他框架特性消耗了这一限制.是否有任何配置设置来控制此新限制?我们可以不使用复选框,但它在我们的特定情况下工作得相当好.我们还想贴上这个补丁,因为它可以抵御其他一些有害的东西.
Unofficial source discussing the 500 limit:个
公告通过提供对DOS攻击矢量的限制来修复DOS攻击矢量 可以为单个HTTP POST提交的变量数 请求.默认限制为500,这对于正常来说应该足够了 Web应用程序,但仍低到足以将攻击中和为 由德国的安全研究人员描述.
编辑:带有limit示例的源代码(看起来是1000,而不是500)
@using (Html.BeginForm())
{
<fieldset class="fields">
<p class="submit">
<input type="submit" value="Submit" />
</p>
@for (var i = 0; i < 1000; i++)
{
<div> @Html.CheckBox("cb" + i.ToString(), true) </div>
}
</fieldset>
}
这段代码在补丁发布之前就已经生效了.之后就不行了.错误是:
[InvalidOperationException:由于当前错误,操作无效