Velja za
.NET Framework 3.5 Service Pack 1 Windows 7 Service Pack 1 Windows 7 Enterprise Windows 7 Professional Windows 7 Ultimate Windows 7 Home Premium Windows 7 Home Basic Windows Server 2008 R2 Service Pack 1 Windows Server 2008 R2 Standard Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Datacenter Windows Server 2008 Service Pack 2 Windows Server 2008 for Itanium-Based Systems Windows Server 2008 Datacenter Windows Server 2008 Enterprise Windows Server 2008 Standard Windows Server 2008 Web Edition Windows Vista Service Pack 2 Windows Vista Business Windows Vista Enterprise Windows Vista Home Basic Windows Vista Home Premium Windows Vista Starter Windows Vista Ultimate Windows Vista Enterprise 64-bit Edition Windows Vista Home Basic 64-bit Edition Windows Vista Home Premium 64-bit Edition Windows Vista Ultimate 64-bit Edition Windows Vista Business 64-bit Edition Microsoft Windows Server 2003 Service Pack 2 Microsoft Windows XP Professional x64 Edition Microsoft Windows XP Service Pack 3 Microsoft Windows XP Home Edition Microsoft Windows XP Professional

Povzetek

Microsoft varnostne posodobitve MS11-100 omejitev največje število obliki ključi, datoteke in JSON člani 1000 v HTTP zahtevo. Zaradi te spremembe, ASP.NET zahtevke zavrne zahteve, ki imajo več kot 1000 teh elementov. HTTP odjemalcem, da tovrstnih zahtev bo zavrnjen, in sporočilo o napaki prikaže v spletnem brskalniku. Sporočilo o napaki bo ponavadi imajo status kodo HTTP 500. Ta nova meja moči obstati oblikovati na podlagi posamezni program. Prosimo glejte razdelek »Rešitev« za konfiguracijo navodila.

Znaki

ASP.NET zahtevke, ki imajo veliko obliki ključi, datoteke ali tovora JSON prejeli napake odziva iz strežnika. Dnevnik aplikacije na strežniku je opozorilo vstop z vira , ki je posebno različico ASP.NET in Številko dogodka 1309. Dnevnik dogodkov vsebuje eno od naslednjih sporočil:

1. sporočilo:

Informacije o programu: področja uporabe: / LM/W3SVC/1/ROOT/< App domene > raven zaupanja: srednje uporabe navidezne poti: < VDIR pot > uporabi pot: < App pot > stroj ime: < ime računalnika > proces informacije: ID procesa: 0001 proces ime: w3wp.exe račun ime: IIS APPPOOL\DefaultAppPool izjema informacije: vrsta izjeme: sporočilo HttpException izjeme: URL-kodirana oblika podatkov ni veljavna. na (System.Web.HttpRequest.FillInFormCollection) v System.Web.HttpRequest.get_Form () na (System.Web.HttpRequest.get_HasForm) v System.Web.UI.Page.GetCollectionBasedOnMethod (logična vrednost dontReturnNull) na (System.Web.UI.Page.DeterminePostBackMode) v System.Web.UI.Page.ProcessRequestMain (logična vrednost includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Sporočilo 2:

Informacije o programu: področja uporabe: / LM/W3SVC/1/ROOT/< App domene > raven zaupanja: srednje uporabe navidezne poti: < VDIR pot > uporabi pot: < App pot > stroj ime: < ime računalnika > proces informacije: ID procesa: 0001Process ime: w3wp.exe račun ime: IIS APPPOOL\DefaultAppPool izjema informacije: vrsta izjeme: sporočilo InvalidOperationException izjeme: operacija ni veljavna zaradi trenutnega stanja predmeta. na (System.Web.HttpRequest.FillInFilesCollection) v (System.Web.HttpRequest.get_Files) v FileUpload.Page_Load (oddajnik, EventArgs črka e) v System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, o predmetu, predmet t, EventArgs črka e) v System.Web.Util.CalliEventHandlerDelegateProxy.Callback (oddajnik, EventArgs črka e) v System.Web.UI.Control.OnLoad (črka e) v (System.Web.UI.Control.LoadRecursive) v System.Web.UI.Page.ProcessRequestMain (logična vrednost includeStagesBeforeAsyncPoint

3. sporočilo:

Uporaba informacij: uporaba domene: / LM/W3SVC/1/ROOT/< App domene > raven zaupanja: srednje uporabe navidezne poti: < VDIR pot > uporabi pot: < App pot > stroj ime: < ime računalnika > proces informacije: ID procesa: 0001Process ime: w3wp.exe račun ime: IIS APPPOOL\DefaultAppPool izjema informacije: vrsta izjeme: sporočilo InvalidOperationException izjeme: operacija ni veljavna zaradi trenutnega stanja predmeta. v System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeDictionary (Int32 globine) v System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal (Int32 globino) na System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize (niz vhod, Int32 depthLimit, pretvornika JavaScriptSerializer) v System.Web.Script.Serialization.JavaScriptSerializer.Deserialize (JavaScriptSerializer pretvornika, niz vnos, vrsta, Int32 depthLimit) v System.Web.Script.Serialization.JavaScriptSerializer.DeserializeObject (vhodni niz) na Failing.Page_Load (oddajnik, EventArgs črka e) v System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, o predmetu, predmet t, EventArgs črka e) v System.Web.Util.CalliEventHandlerDelegateProxy.Callback (oddajnik, EventArgs črka e) v System.Web.UI.Control.OnLoad (črka e) v (System.Web.UI.Control.LoadRecursive) v System.Web.UI.Page.ProcessRequestMain (logična vrednost includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

IIS dnevniške datoteke prikaže vnos, ki je podoben temu:

2011-01-01 00:00:00:: 1 POST /machine/default.aspx - 80 -:: 1 500 0 0 187

Vzrok

Microsoft varnostne posodobitve, da varnostni bilten MS11-100 naslovov spremeni privzeto največje število obliki ključi, datoteke in JSON članov, ki ASP.NET bo sprejel zahtevo za 1.000. Ta sprememba je bila narejena za reševanje zanikanje od usluga ranljivost, da Microsoftov varnostni bilten MS11-100 dokumentov.

Rešitev

Aplikacije, ki je dosegel to mejo obliki ključev ali datotek lahko spremenite ASP.NET appSetting aspnet:MaxHttpCollectionKeys, kot je prikazano spodaj v program ASP.net konfiguracijske datoteke. Ta nastavitev obravnava napake sporočilo 1 in napake sporočilo 2 "Simptomi" oddelku.

<configuration><appSettings><add key="aspnet:MaxHttpCollectionKeys" value="1000" /></appSettings></configuration>

Opomba Če uporabljate ASP.NET 1.1 v x86-osnova sistem, nastavitev se regulira z seštevanje a DWORD vrednost v sledeč registracija zakleniti:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\1.1.4322.0\MaxHttpCollectionKeys

Če uporabljate ASP.NET 1.1 v x64-osnova sistem, nastavitev se regulira z seštevanje a DWORD vrednost v sledeč registracija zakleniti:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ASP.NET\1.1.4322.0\MaxHttpCollectionKeys

Aplikacije, ki so prizadele to mejo JSON plačljiv tovor lahko spremenite ASP.NET appSetting aspnet:MaxJsonDeserializerMembers, kot je prikazano spodaj v program ASP.net konfiguracijske datoteke. Ta nastavitev obravnava napake sporočilo 3 od "Simptomi" oddelku.

<configuration><appSettings><add key="aspnet:MaxJsonDeserializerMembers" value="1000" /></appSettings></configuration>

Opomba Povečanje vrednosti zgoraj privzeto nastavitev povečuje dovzetnost strežniku za zanikanje od usluga ranljivost, ki je bila opisana v varnostnem biltenu MS11-100.

Reference

Če želite več informacij o varnostnem biltenu MS11-100, glejte naslednji članek zbirke TechNet:

Microsoftov varnostni bilten MS11-100 - kritičnoZa več informacij kliknite to številko članka za ogled člankov iz Microsoftove zbirke znanja:

2638420 MS11-100: Ranljivost v ogrodju .NET Framework lahko dopušča povišanje pravic: 29 December 2011

Ali potrebujete dodatno pomoč?

Ali želite več možnosti?

Raziščite ugodnosti naročnine, prebrskajte izobraževalne tečaje, preberite, kako zaščitite svojo napravo in še več.