NYNÍ K DISPOZICI

Azure App Service – zpracování vlastnosti SameSite souborů cookie a oprava .NET Framework 4.7.2

Datum publikování: 18 ledna, 2020

V rámci aktualizace Azure App Service z ledna 2020 se instalují opravy .NET Framework, které aktualizují způsob, jakým .NET Framework zpracovává vlastnost SameSite souborů cookie. Tato služba také nasazuje kompatibilní chování App Service, které se vztahuje na všechny aplikace běžící v App Service ve scénářích, kdy soubor cookie nastavil vlastnost SameSite na hodnotu None.

Verze .NET Core na platformě App Service už obsahují aktualizaci zpracování souborů cookie SameSite a v rámci aktualizace služeb z ledna 2020 se nemění.

Datová část Azure App Service se nasazuje v průběhu ledna 2020. Odhadovaným datem dokončení v rámci veřejného cloudu Azure, všech prostředí App Service a národních cloudů je konec ledna 2020.  Projděte si nejnovější informace o tomto nasazení.

Vzhledem k tomu, že se aktualizace ve službě nasazují postupně, aplikace začnou během tohoto období nasazování běžet v novější datové části App Service v různých časech.  To, jestli aplikace už běží na aktualizované datové části App Service, mohou vývojáři zjistit kontrolou verze App Service na webu SCM. Web SCM je přístupný z portálu prostřednictvím možnosti Vývojové nástroje --> Rozšířené nástroje.  Další možností je přejít přímo na web SCM pro příslušnou aplikaci použitím následujícího formátu adresy URL: https://název_vašeho_webu.scm.azurewebsites.net.

V případě webů App Service pro Windows domovská stránka webu SCM uvádí verzi Azure App Service.  Pokud se zobrazuje verze 86.0.7.148 (nebo novější), přidružená aplikace běží na nově opravené verzi App Service.

V případě webu App Service pro Linux se po kliknutí na možnost Prostředí v horní nabídce webu SCM zobrazí stránka se všemi proměnnými prostředí tohoto webu. Výsledná stránka má adresu URL s tímto formátem: https://název_vašeho_webu.scm.azurewebsites.net/Env.  Aktuální verzi App Service zobrazuje proměnná prostředí PLATFORM_VERSION.  Pokud se zobrazuje verze 86.0.7.148 (nebo novější), přidružená aplikace běží na nově opravené verzi App Service.

Podrobnosti o opravě .NET Framework pro SameSite

Konkrétní podrobnosti o rozdílech ve zpracování souborů cookie SameSite, které jsou součástí opravy sady .NET Framework 4.7.2, jsou popsané v tomto článku

Při instalaci opravy .NET Framework se mění výchozí nastavení konfigurační vlastnosti cookieSameSite pro stav relace a ověřování pomocí formulářů na Lax.   Pokud bylo HttpCookie.SameSite nastavené na hodnotu None, .NET Framework také automaticky odešle vlastnost souborů cookie SameSite=None.

Další informace o zpracování souborů cookie SameSite s využitím rozhraní .NET Framework jsou k dispozici v tomto článku a také v naší dokumentaci.

Další informace o výchozím nastavení cookieSameSite pro ověřování pomocí formulářů najdete v tomto článku

Další informace o výchozím nastavení cookieSameSite pro stav relace najdete v tomto článku.

Další informace o zpracování souborů cookie SameSite pomocí .NET Core jsou k dispozici v tomto článku

Podrobné informace o kompatibilním chování Azure App Service

Kromě opravy pro .NET Framework služba Azure App Service také zavedla kompatibilní chování pro scénáře, kdy odpověď HTTP/HTTPS zahrnuje hlavičku souboru cookie s vlastností SameSite nastavenou na hodnotu None a příslušný uživatelský agent odpovídá konkrétní podmnožině starších prohlížečů, které nepodporují novější standard SameSite z roku 2019, a proto nerozpoznávají vlastnost SameSite s hodnotou None.  Při rozpoznání starší verze prohlížeče Azure App Service automaticky odebere vlastnost souborů cookie SameSite=None, pokud ji v hlavičkách odpovědí detekuje.

Důsledkem tohoto kompatibilního chování App Service je, že konkrétní podmnožina starších prohlížečů neobdrží nerozpoznanou hodnotu SameSite (což může způsobit, že se tyto starší prohlížeče vrátí k chování SameSite=Strict), zatímco novější prohlížeče jako Chrome v80 budou vlastnost souborů cookie SameSite = None přijímat.

Konkrétní detekční logika, kterou App Service používá při rozhodování, kdy odebrat vlastnost SameSite = None z odpovědi, je odpovídá pseudologice popsané v tomto článku.

Vývojáři by si měli projít využití a případné závislosti svých aplikací na vlastnosti SameSite souborů cookie a aktualizovat aplikační logiku s využitím zjišťování uživatelských agentů a speciálního zpracování podle potřeby scénářů jednotlivých aplikace. Účelem kompatibilního chování platformy App Service je jenom částečné omezení rizik, které vývojářům pomáhá, než se aplikace aktualizují tak, aby zpracovávaly chování SameSite z roku 2019 implementované v novějších verzích prohlížečů.

Pokud soubory cookie zahrnují vlastnost SameSite=None, měli by vývojáři také zkontrolovat další požadavky prohlížeče. Například Chrome v80 uzná SameSite=None jenom v případě, že soubor cookie je také označený atributem Secure a prochází přes připojení HTTPS. Projděte si další podrobnosti.  

Kompatibilní chování Azure App Service je implementované v infrastruktuře hranice sítě App Service. Chování je aktivní pro všechny weby běžící na App Service bez ohledu na jazyk nebo architekturu, kterou používají. Funkce kompatibility funguje pro všechny weby běžící na variacích App Service pro Linux a Windows, pro App Service Environment a pro všechna nasazení Azure App Service v národních cloudech.

 

  • App Service
  • Services

Související produkty