MÁR ELÉRHETŐ

Azure App Service – SameSite cookie-kezelés és a .NET-keretrendszer 4.7.2 javítása

Frissítve: január 22, 2020

Az Azure App Service 2020. januári frissítésének részeként telepítve lesznek a .NET-keretrendszernek azok a javításai, amelyek a SameSite cookie-tulajdonságnak a .NET-keretrendszer alkalmazásai általi kezelését módosítják. A szolgáltatás egy App Service-kompatibilitási viselkedést is üzembe helyez, amely minden App Service-en futó alkalmazásra vonatkozik olyan helyzetben, amikor egy cookie a „None” értékre állította be a SameSite tulajdonságot.

Az App Service-platform .NET Core-verziói már tartalmazzák a SameSite cookie-kezelés frissítéseit, és nem módosulnak a szolgáltatás 2020. januári frissítésének részeként.

Az Azure App Service-adattartalom 2020 januárja folyamán lesz üzembe helyezve. Ez várhatóan 2020. január végére fejeződik be a nyilvános Azure-felhőben, minden App Service-környezetben és az országos felhőkben.  Olvassa el a legújabb információkat az üzembe helyezésről.

Mivel a frissítések növekményesen vannak üzembe helyezve a szolgáltatásban, az alkalmazások az üzembe helyezés időszakának különböző időpontjaiban kezdenek az újabb App Service-adattartalmon futni.  A fejlesztők úgy állapíthatják meg, hogy az alkalmazások a frissített App Service-adattartalmon futnak-e, hogy ellenőrzik az App Service verzióját az SCM-webhelyen. Az SCM-webhely a Fejlesztői eszközök --> Speciális eszközök beállításnál érhető el a portálon.  A fejlesztők azt is megtehetik, hogy közvetlenül egy alkalmazás SCM-webhelyére navigálnak a következő formátumú URL-címmel: https://saját-webhely.scm.azurewebsites.net.

Windows App Service-webhelyek esetében az Azure App Service verziója fel van tüntetve az SCM-webhely kezdőlapján.  Ha a verzió 86.0.7.148 (vagy újabb), akkor a társított alkalmazás az App Service újonnan frissített verzióján fut.

Linux App Service-webhelyek esetében az SCM-webhely felső menüjének Környezet pontjára kattintva a webhely összes környezeti változóját tartalmazó oldal nyílik meg. Az így elérhető oldal URL-címének formátuma a következő:  https://saját-webhely.scm.azurewebsites.net/Env.  Az App Service aktuális verziószámát a PLATFORM_VERSION környezeti változó mutatja meg.  Ha a verzió 86.0.7.148 (vagy újabb), akkor a társított alkalmazás az App Service újonnan frissített verzióján fut.

A .NET-keretrendszer SameSite-hoz kiadott javításának részletei

A SameSite cookie-kezelésnek a .NET-keretrendszer 4.7.2 javítása általi módosításairól ez a cikk ír részletesen. 

A .NET-keretrendszer javításának telepítésekor a .NET-keretrendszer a „Lax” értékre változtatja meg a cookieSameSite konfigurációs tulajdonság alapértelmezett értékét a Munkamenet-állapot és az Űrlap-htelesítés esetében.   A .NET-keretrendszer automatikusan el is küldi a SameSite=None cookie-tulajdonságot a hálózaton, ha a HttpCookie.SameSite a „None” értékre van beállítva.

A .NET-keretrendszer általi SameSite cookie-kezelés további részleteit ez a cikk, valamint a dokumentáció ismerteti.

Az űrlap-hitelesítési cookieSameSite alapértelmezett értékéről ez a cikk ír részletesen. 

A munkamenet-állapoti cookieSameSite alapértelmezett értékéről ez a cikk ír részletesen.

A .NET Core általi SameSite cookie-kezelésről ebben a cikkben található további információ. 

Az Azure App Service kompatibilitási viselkedésének részletei

A .NET-keretrendszer javításán kívül a Azure App Service kompatibilitási viselkedést vezetett be ahhoz a helyzethez, amelyben egy HTTP/HTTPS-válasz egy „None” értékre beállított SameSite-tulajdonságot tartalmaz, és a kérelmező felhasználói ügynök a régebbi böngészők egy adott részhalmazához tartozik, amely nem támogatja az újabb 2019-es SameSite-szabványt, ezért nem ismeri fel a „None” SameSite-tulajdonságot.  Régebbi böngésző észlelése esetén az Azure App Service automatikusan eltávolítja a SameSite=None cookie-tulajdonságot, ha azt észleli a válasz-fejlécekben.

Az App Service kompatibilitási viselkedésének összesített hatása az, hogy a régebbi böngészők egy meghatározott részhalmaza nem kap fel nem ismerhető SameSite-értéket (ami azt eredményezheti, hogy a régebbi böngészők visszaállnak a SameSite=Strict viselkedésre), az újabb böngészők, mint a Chrome v80 pedig megkapják a SameSite=None cookie-tulajdonságot.

Az a konkrét észlelési logika, amellyel az App Service eldönti, hogy eltávolítsa-e a SameSite=None tulajdonságot a válaszból, az ebben a cikkben dokumentált pszeudologikát követi.

A fejlesztőknek ajánlott felülvizsgálniuk, hogy az alkalmazás milyen mértékben használja a SameSite cookie-tulajdonságot, és mennyire függ attól (ha egyáltalán), majd frissíteniük az alkalmazás logikáját a felhasználói ügynök észlelésével és az egyes felhasználási helyzetekben megfelelő speciális kezeléssel. Az App Service platform kompatibilitási viselkedésének rendeltetés csupán a problémák részleges enyhítése, hogy támogassa a fejlesztőket, amíg frissítik az alkalmazásokat az újabb böngésző-verziókban implementált 2019-es SameSite-viselkedés kezelésére.

A fejlesztőknek érdemes áttekinteniük a böngészőkre vonatkozó további követelményeket is arra az esetre, amikor a cookie-k a SameSite=None tulajdonságot is tartalmazzák. A Chrome v80 például csak akkor veszi figyelembe a SameSite=None beállítást, ha a cookie a Secure attribútummal is el van látva, és a cookie HTTPS-kapcsolaton van továbbítva. További részletek.  

Az Azure App Service kompatibilitási viselkedése implementálva van az App Service-hálózat peremhálózati infrastruktúráján. A viselkedés az App Service-en futó összes webhelynél aktív, függetlenül a webhely által használt nyelvtől vagy keretrendszertől. A kompatibilitási funkció az App Service linuxos és windowsos változatain futó webhelyeknél is működik, az App Service Environment-környezetekben és az Azure App Service minden országos felhőben üzemelő példányában.

 

  • App Service
  • Services

Related Products