2012-01-22 42 views
8

使用最近发布的asp.net漏洞修补程序ms11-100更新我们的系统后,我们发现某些页面开始失败,出现异常“[ HttpException(0x80004005的):URL编码的表单数据是无效]”这是在asp.net论坛涵盖这里:ASP.NET Web.config继承不适用于MS11-100的MaxHttpCollectionKeys设置

http://forums.asp.net/t/1754512.aspx/1?Microsoft+security+bulletin+MS11+100+breaking+our+site

和计算器在这里:

ASP.NET MS11-100: how can I change the limit on the maximum number of posted form values?

我试图尝试的是通过将该页面移动到它自己的文件夹,将攻击区域所建议的更改限制到特定页面,以便我可以在该文件夹中使用设置为aspnet的特定web.config:MaxHttpCollectionKeys一个大于默认值1000的值。

我发现除非在根文件夹的web.config中指定此设置,否则此设置不会生效。看起来像asp.net只是在该页面的新文件夹中的web.config文件中忽略该设置。

还有什么我需要做的,使这种情况发生?或者根本不可能,因为环境的性质?

+0

我不确定这个问题,但是在低级配置的某个地方,这部分可以用'overrideModeDefault =“Deny”'锁定。有关Web.config继承和覆盖的更多信息,请参阅:[ASP.NET开发人员应了解的关于Web.config继承和覆盖的10件事](http://weblogs.asp.net/jgalloway/archive/2012/01/17/10 -things-asp-net-developers-should-know-about-web-config-inheritance-and-overrides.aspx) – tugberk

+0

@ tugberk这个密钥在部分,所以它没有锁定在站点级别。 –

回答

4

根据我的理解,这些东西的工作原理 - 我有一些疑虑,你可以改变文件夹级别web.config的设置。 看起来像MaxHttpCollectionKeys属于应用程序池级别,因此要更改基本值 - 您应该创建另一个应用程序池。

+1

谢谢阿列克谢,那正是我所担心的:)。 – fallenprogrammr

1

我也试图把它放在一个子文件夹中,但没有运气。只要我把它放在根web.config中就行了。