A jelenség
Miután webfarmon működő Microsoft ASP.NET-webhelyeket szolgáltató kiszolgálókra telepíti az MS10-070 jelű biztonsági frissítést, az alábbi hibajelenségek léphetnek fel a webfarmon futó egyes kiszolgálókon vagy alkalmazásokban:
-
Nem történik meg az adatok visszafejtése
-
Kivételek lépnek fel a WebResource és a ScriptResource kezelőkben
-
Hitelesítési problémák az űrlapos hitelesítés használata esetén
-
„Érvénytelen megjelenítési állapot” hibaüzenetek
-
„Az adatok nem érvényesíthetők” hibaüzenet jelenik meg az adatok, például űrlapos hitelesítési cookie-k visszafejtésére tett kísérletek esetén
A hiba ASP.NET-alkalmazások megnyitásakor alkalmazáskivételként is jelentkezhet, és a rendszer az alábbihoz hasonló hibaüzeneteket rögzíthet az alkalmazásnaplóban.
1. üzenet:
System.Web.HttpException : Az adatok nem érvényesíthetők. a következő helyen: System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo, Boolean signData)
2. üzenet:
Eseménytípus: Figyelmeztetés
Eseményforrás: ASP.NET 2.0.50727.0
Esemény kategóriája: Webes esemény
Eseményazonosító: 1309
Dátum: Dátum
Időpont: Időpont
Felhasználó: -
Leírás:
Eseménykód: 3005
Eseményüzenet: Nem kezelt kivétel fordult elő.
Kivétel adatai:
Kivétel típusa: HttpException
A kivételhez tartozó üzenet: Az adatok nem érvényesíthetők.
Oka
Az MS10-070 jelű biztonsági közleményben ismertetett biztonsági frissítés úgy módosítja a titkosítás alapértelmezett működését az ASP.NET szolgáltatásban, hogy a frissítés telepítését követően a titkosítás mellett érvényesítést is végezzen, még a csak titkosításra vonatkozó kérések esetén is. Ez az alapértelmezett működés úgy módosítja azon kiszolgálók titkosított adatforgalmát, amelyeken telepítve lett ez a frissítés, hogy az a nézetállapotot és az űrlapos hitelesítési cookie-kat is tartalmazhatja. Ha egy webfarmon belül csak néhány kiszolgálón van telepítve a frissítés, a webfarm különböző kiszolgálói más titkosítási és visszafejtési módszereket fognak alkalmazni ugyanazon adatforgalomra, és ez az eltérő működés kivételekhez vezet. A jelenség a biztonsági frissítés telepítése előtt a számítógépeken tárolt űrlapos hitelesítési cookie-knak a frissítés telepítése utáni használata esetén is előfordulhat.
A titkosítási és visszafejtési módszerek a Microsoft .NET-keretrendszer 2.0-s verziójának különböző szervizcsomagjainál is eltérnek, ezért többkiszolgálós környezetben a .NET-keretrendszer eltérő szervizcsomagszintje esetén a biztonsági frissítés telepítése eltérő titkosított adatforgalmat, és így hasonló visszafejtési hibákat eredményez.
A megoldás
Ellenőrizze az alábbi feltételek teljesülését az ASP.NET-alapú tartalmat szolgáltató összes kiszolgálón:
-
A biztonsági frissítés az ASP.NET-alapú webhelyet szolgáltató minden kiszolgálón telepítve kell, hogy legyen. Amennyiben egyes kiszolgálókon nincs telepítve a frissítés, ezeken is telepítenie kell azt.
-
A webfarm összes olyan számítógépén, amelyen a .NET-keretrendszer 2.0 valamely változata fut, meg kell egyeznie a szervizcsomagszintnek, ha az MS10-070 jelű biztonsági frissítést az összes számítógépre telepíti. Eltérő szervizcsomagszint esetén mindegyik érintett kiszolgálót frissítenie kell a legújabb szervizcsomaggal, majd újra kell telepíteni az összes biztonsági frissítést. Ezért, ha a webfarm egyes kiszolgálóin a NET-keretrendszer 2.0 SP1 összetevő fut, másokon pedig a NET-keretrendszer 2.0 SP2, akkor az összes, a NET-keretrendszer 2.0 SP1 összetevőt használó kiszolgálót frissítenie kell a NET-keretrendszer 2.0 SP2-re, mielőtt telepítené a biztonsági frissítést a webfarm összes kiszolgálóján.
-
Győződjön meg róla, hogy az alkalmazások nem használnak a frissítés telepítése előtt létrehozott titkosított adatokat, például űrlapos hitelesítési cookie-kat. A korábban titkosított adatokat a frissítés telepítését követően frissíteni kell.
A Hivatkozások című szakaszban további információt talál arról, hogy miként állapíthatja meg a .NET-keretrendszer verzióját és a biztonsági frissítés telepített voltát a kiszolgálókon.
Hivatkozások
Az ASP.NET nézetállapotáról további tudnivalókat talál az MSDN webhelyének alábbi cikkében:
Az ASP.NET nézetállapotának áttekintéseAz ASP.NET űrlapos hitelesítéséről az MSDN alábbi cikkében tájékozódhat:
Az ASP.NET űrlapos hitelesítésének áttekintéseAz ASP.NET űrlap-hitelesítési jegyeiről és cookie-jairól a Microsoft Tudásbázis alábbi cikkeiben tájékozódhat:
910443 Az űrlap-hitelesítési jegyek és cookie-k (Előfordulhat, hogy a tartalom angol nyelven érhető el)Az ASP.NET webeserőforrás-kezelőjéről a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
910442 Webes erőforrások az ASP.NET 2.0-s verziójában (Előfordulhat, hogy a tartalom angol nyelven érhető el)