Przejdź do głównej zawartości
DOSTĘPNE TERAZ

Usługa Azure App Service — obsługa plików cookie SameSite oraz poprawka platformy .NET Framework 4.7.2

Data opublikowania: 18 stycznia, 2020

W ramach aktualizacji usługi Azure App Service ze stycznia 2020 roku instalowane są poprawki platformy .NET Framework, które aktualizują sposób obsługi właściwości plików cookie SameSite przez aplikacje platformy .NET Framework. W usłudze App Service jest też wdrażane zgodne zachowanie, dotyczące wszystkich aplikacji uruchomionych w usłudze App Service w przypadku scenariuszy, w których plik cookie ustawia właściwość SameSite na wartość „None”.

Wersje platformy .NET Core na platformie usługi App Service zawierają już aktualizacje obsługi plików cookie SameSite i nie są zmieniane w ramach aktualizacji usługi ze stycznia 2020 roku.

Ładunek usługi Azure App Service jest wdrażany w styczniu 2020 roku, a szacowana data ukończenia to koniec stycznia 2020 roku w całej chmurze publicznej platformy Azure oraz we wszystkich środowiskach usługi App Service i chmurach krajowych.  Zobacz najnowsze informacje o wdrażaniu.

Aktualizacje w usłudze są wdrażane przyrostowo, więc aplikacje zaczną działać z nowszym ładunkiem usługi App Service w różnych momentach w okresie wdrażania.  Deweloperzy mogą ustalić, czy aplikacje działają ze zaktualizowanym ładunkiem usługi App Service, sprawdzając wersję usługi App Service w witrynie SCM. Witryna SCM jest dostępna w portalu z poziomu opcji Narzędzia programistyczne --> Narzędzia zaawansowane.  Deweloperzy mogą też przechodzić bezpośrednio do witryny SCM dla aplikacji, używając następującego formatu adresu URL: https://nazwa-twojej-witryny.scm.azurewebsites.net.

W przypadku witryn usługi App Service opartej na systemie Windows zostanie wyświetlona wersja usługi Azure App Service na stronie głównej witryny SCM.  Jeśli jest to wersja 86.0.7.148 (lub nowsza), skojarzona aplikacja działa przy użyciu wersji usługi App Service z nową poprawką.

W przypadku witryn usługi App Service opartych na systemie Linux kliknięcie opcji Środowisko w górnym menu witryny SCM spowoduje zwrócenie strony ze wszystkimi zmiennymi środowiskowymi witryny. Zwrócona strona będzie zawierać adres URL sformatowany następująco: https://nazwa-twojej-witryny.scm.azurewebsites.net/Env.  Zmienna środowiskowa PLATFORM_VERSION wskazuje bieżącą wersję usługi App Service.  Jeśli jest to wersja 86.0.7.148 (lub nowsza), skojarzona aplikacja działa przy użyciu wersji usługi App Service z nową poprawką.

Szczegóły poprawki platformy .NET Framework dotyczącej właściwości SameSite

Szczegółowe informacje o różnicach w obsłudze plików cookie SameSite zawartej w poprawce platformy .NET Framework 4.7.2 zostały opisane w tym artykule

Po zainstalowaniu poprawki platforma .NET Framework zmienia wartości domyślne dla właściwości konfiguracji cookieSameSite dla ustawienia Stan sesji oraz zmienia ustawienie Uwierzytelnianie formularzy na wartość „Swobodne”.   Ponadto platforma .NET Framework automatycznie wysyła przez łącze właściwość plików cookie SameSite=None, gdy ustawienie HttpCookie.SameSite ma wartość „None”.

Dodatkowe informacje o obsłudze plików cookie SameSite na platformie .NET Framework są dostępne w tym artykule oraz w naszej dokumentacji.

Przeczytaj więcej o ustawieniu domyślnym cookieSameSite dla uwierzytelniania formularzy w tym artykule

Przeczytaj więcej o ustawieniu domyślnym cookieSameSite dla stanu sesji w tym artykule.

Dodatkowe informacje o obsłudze plików cookie SameSite na platformie .NET Core są dostępne w tym artykule

Szczegółowe informacje o zgodnym zachowaniu usługi Azure App Service

Oprócz poprawki platformy .NET Framework, w usłudze Azure App Service wprowadzono zgodne zachowanie dla scenariusza, w którym odpowiedź HTTP/HTTPS zawiera nagłówek pliku cookie z właściwością SameSite ustawioną na wartość „None”, a agent użytkownika wysyłający żądanie jest zgodny z określonym podzbiorem starszych przeglądarek, które nie obsługują nowszej wersji standardu SameSite z 2019 roku i dlatego nie rozpoznają właściwości SameSite o wartości „None”.  Po wykryciu starszej przeglądarki usługa Azure App Service automatycznie usuwa właściwość plików cookie SameSite=None, jeśli zostanie ona wykryta w nagłówkach odpowiedzi.

Ostateczny efekt zgodnego zachowania usługi App Service jest taki, że określony podzbiór starszych przeglądarek nie będzie otrzymywać nierozpoznawanej wartości SameSite (co może spowodować, że starsze przeglądarki wrócą do zachowania SameSite=Strict), a nowsze przeglądarki, takie jak Chrome w wersji 80, będą otrzymywać właściwość plików cookie SameSite=None.

Konkretna logika wykrywania, na podstawie której usługa App Service ustala, kiedy należy usunąć właściwość SameSite=None z odpowiedzi, jest zgodna z pseudo-logiką opisaną w tym artykule.

Deweloperzy powinni sprawdzić w swoich aplikacjach sposób używania właściwości plików cookie SameSite i zależności od niej (jeśli istnieją) oraz zaktualizować logikę aplikacji, dodając wykrywanie agenta użytkownika i specjalną obsługę odpowiednią dla scenariuszy poszczególnych aplikacji. Zgodne zachowanie platformy usługi App Service jest tylko częściowym środkiem zaradczym, pomocnym dla deweloperów podczas aktualizowania aplikacji w celu obsługi zachowania właściwości SameSite z 2019 roku, które jest zaimplementowane w nowszych wersjach przeglądarek.

Deweloperzy powinni też zapoznać się z dodatkowymi wymaganiami dla przeglądarek w przypadku, gdy pliki cookie zawierają właściwość SameSite=None. Na przykład przeglądarka Chrome w wersji 80 uznaje właściwość SameSite=None tylko wtedy, gdy plik cookie jest też oznaczony atrybutem Secure oraz jest przesyłany przez połączenie HTTPS. Zobacz więcej szczegółów.  

Zgodne zachowanie usługi Azure App Service jest zaimplementowane w jej infrastrukturze brzegu sieci. To zachowanie jest aktywne dla wszystkich witryn działających w usłudze App Service, niezależnie od języka lub platformy używanej przez daną witrynę. Funkcja zgodności działa w przypadku witryn uruchomionych w odmianach usługi App Service opartych na systemach Linux i Windows, w środowiskach App Service Environment oraz we wszystkich krajowych wdrożeniach usługi Azure App Service w chmurze.

 

  • App Service
  • Services

Powiązane produkty