Definicja słowa „ta sama witryna” uwzględnia schemat adresów URL, więc linki między wersjami HTTP i HTTPS witryny są liczone jako żądania z innych witryn. Domyślnie przejdź na protokół HTTPS, aby uniknąć problemów, gdy to możliwe, lub zapoznaj się ze szczegółowymi informacjami na temat wymaganych wartości atrybutów SameSite.
Sztuczne Ta sama witryna zmienia definicję witryny (internetowej) z domeny, którą można zarejestrować, na schemat + domena, którą można zarejestrować. Więcej informacji i przykładów znajdziesz tutaj: Co to jest „ta sama witryna” oraz „same-origin”.
Dobra wiadomość jest taka: jeśli Twoja witryna została już w pełni uaktualniona do HTTPS, nie musisz się niczym martwić. Nic się dla Ciebie nie zmieni.
Jeśli witryna nie została jeszcze w pełni uaktualniona, to jest priorytetem.
Jeśli jednak zdarzają się sytuacje, w których użytkownicy witryny przechodzą między protokołem HTTP a
HTTPS, a następnie kilka typowych scenariuszy i powiązany plik cookie SameSite
są opisane poniżej.
Możesz włączyć te zmiany do testowania zarówno w Chrome, jak i w Firefoksie.
- W Chrome 86 włącz
about://flags/#schemeful-same-site
. Śledzenie postępów na stronie Stan Chrome . - W przeglądarce Firefox 79 ustaw opcję
network.cookie.sameSite.schemeful
natrue
za pomocąabout:config
Śledź postępy w Bugzilla .
Jeden z głównych powodów zmiany na opcję SameSite=Lax
jako domyślną w usłudze
miały chronić przed oszustwem żądań w wielu witrynach.
(CSRF). Pamiętaj jednak:
ale niezabezpieczony ruch HTTP wciąż stwarza możliwość atakującym sieci na
modyfikować pliki cookie, które będą używane w bezpiecznej wersji HTTPS witryny
witrynie. Utworzenie tej dodatkowej granicy między witrynami
jeszcze większą obronę przed takimi atakami.
Typowe scenariusze obejmujące różne schematy
Nawigacja
Przechodzenie między wersjami witryny opartymi na różnych schematach (np. połączenie z konta
http://site.example do https://site.example) wcześniej zezwalałby
Liczba plików cookie do wysłania: SameSite=Strict
. Teraz jest traktowany jak żądanie z innej witryny
co oznacza, że zostaną zablokowane pliki cookie SameSite=Strict
.
HTTP → HTTPS | HTTPS → HTTP | |
SameSite=Strict
|
⛔ Zablokowano | ⛔ Zablokowano |
SameSite=Lax
|
✓ Dozwolone | ✓ Dozwolone |
SameSite=None;Secure
|
✓ Dozwolone | ⛔ Zablokowano |
Wczytuję zasoby podrzędne
Wprowadzone tutaj zmiany powinny być traktowane jako tymczasowa poprawka. przejść na pełny protokół HTTPS.
Przykładami zasobów podrzędnych są obrazy, elementy iframe i żądania sieciowe wysyłane za pomocą XHR lub Fetch.
Wczytywanie na stronie zasobu podrzędnego innego schematu pozwoliłoby wcześniej
Pliki cookie (SameSite=Strict
lub SameSite=Lax
) do wysłania lub ustawienia. A teraz
jest traktowany w taki sam sposób, jak każdy inny zasób podrzędny zasobu innej firmy lub należący do innej witryny,
oznacza, że zostaną zablokowane wszystkie pliki cookie SameSite=Strict
lub SameSite=Lax
.
Ponadto, nawet jeśli przeglądarka zezwala na zasoby z niezabezpieczonych schematów na
gdy zostanie załadowana na bezpiecznej stronie, wszystkie pliki cookie będą blokowane w przypadku tych żądań,
pliki cookie innych firm lub pochodzące z innych witryn wymagają parametru Secure
.
HTTP → HTTPS | HTTPS → HTTP | |
SameSite=Strict
|
⛔ Zablokowano | ⛔ Zablokowano |
SameSite=Lax
|
⛔ Zablokowano | ⛔ Zablokowano |
SameSite=None;Secure
|
✓ Dozwolone | ⛔ Zablokowano |
OPUBLIKOWANIE formularza
Publikowanie między wersjami witryny bazującymi na różnych schematach dotychczas umożliwiałoby
pliki cookie z ustawieniem SameSite=Lax
lub SameSite=Strict
do wysłania. A teraz
traktowany jako POST pochodzący z innej witryny – można wysłać tylko SameSite=None
plików cookie. Możesz
występuje w takich witrynach, które domyślnie
wyświetlają niezabezpieczoną wersję,
ale podczas przesyłania danych logowania uaktualnij użytkowników do wersji zabezpieczonej
formularza płatności.
Podobnie jak w przypadku zasobów podrzędnych, jeśli żądanie pochodzi z bezpiecznego adresu, np. HTTPS, do
niezabezpieczone, np. HTTP, kontekst, a w przypadku tych żądań wszystkie pliki cookie będą blokowane
ponieważ pliki cookie innych firm i pliki cookie pochodzące z innych witryn wymagają parametru Secure
.
HTTP → HTTPS | HTTPS → HTTP | |
SameSite=Strict
|
⛔ Zablokowano | ⛔ Zablokowano |
SameSite=Lax
|
⛔ Zablokowano | ⛔ Zablokowano |
SameSite=None;Secure
|
✓ Dozwolone | ⛔ Zablokowano |
Jak mogę przetestować swoją witrynę?
Narzędzia dla programistów i komunikatory są dostępne w Chrome i Firefoksie.
W Chrome 86 karta Problemy w Narzędzia deweloperskie uwzględnia problemy związane ze schematem Same-Site. Możesz zobaczyć wyróżnione te problemy dla Twojej witryny.
Problemy z nawigacją:
- „Przejdź całkowicie na HTTPS, aby nadal wysyłać pliki cookie w tej samej witrynie żądania” – ostrzeżenie informujące o tym, że plik cookie zostanie zablokowany w przyszłej wersji; Chrome.
- „Przeprowadź pełną migrację do HTTPS, aby pliki cookie były wysyłane w przypadku żądań z tej samej witryny” – z ostrzeżeniem, że plik cookie został zablokowany.
Problemy z ładowaniem zasobów podrzędnych:
- „Przejdź całkowicie na HTTPS, aby nadal mieć możliwość wysyłania plików cookie do tej samej witryny zasoby podrzędne” lub „Przejdź całkowicie na HTTPS, aby nadal zezwalać na pliki cookie na zostanie ustawiony przez same-site subresources” – ostrzeżenia, że plik cookie zostanie zablokowane w przyszłej wersji Chrome.
- „Przeprowadź migrację całkowicie do HTTPS, aby pliki cookie były wysyłane do zasobów podrzędnych tej samej witryny” lub „Przeprowadź pełną migrację do HTTPS, aby umożliwić ustawianie plików cookie przez tę samą witrynę subresources” – ostrzeżenia, że plik cookie został zablokowany. To ostatnie ostrzeżenie może również pojawić się podczas publikowania formularza.
Więcej informacji znajdziesz w artykule Wskazówki dotyczące testowania i debugowania w przypadku schematu Same-Site.
Z przeglądarki Firefox w wersji 79 z ustawieniem network.cookie.sameSite.schemeful
ustawionym na true
za pomocą
about:config
konsola wyświetli komunikat o problemach typu „Schemeful Same-Site”.
W swojej witrynie możesz zobaczyć:
- „Plik cookie
cookie_name
zostanie wkrótce potraktowany jako plik cookie z innej witryny w odniesieniu dohttp://site.example/
, ponieważ schemat nie pasuje do wzorca”. - „Plik cookie
cookie_name
został potraktowany jako plik cookie z innej witrynyhttp://site.example/
, ponieważ schemat nie pasuje do wzorca”.
Najczęstsze pytania
Moja witryna jest już w pełni dostępna w protokole HTTPS. Dlaczego w Narzędziach deweloperskich w przeglądarce występują problemy?
Możliwe, że niektóre z Twoich linków i zasobów podrzędnych nadal wskazują niezabezpieczone Adresy URL.
Jednym ze sposobów rozwiązania tego problemu jest użycie protokołu HTTP
rygorystyczne zasady bezpieczeństwa transportu
(HSTS) i dyrektywę includeSubDomain
. Z HSTS + includeSubDomain
nawet
jeśli któraś ze stron przypadkowo zawiera niezabezpieczony link, przeglądarka
automatycznie korzysta z bezpiecznej wersji.
Co zrobić, jeśli nie mogę przejść na HTTPS?
Choć zdecydowanie zalecamy całkowite uaktualnienie witryny do HTTPS ochrony użytkowników. Jeśli nie możesz tego zrobić samodzielnie, skontaktuj się z z Twoim dostawcą usług hostingowych. Jeśli jesteś właścicielem serwera, a następnie Let's Encrypt dostępne jest szereg narzędzi, zainstalować i skonfigurować certyfikat. Możesz również zbadać możliwość przeniesienia witryny za siecią CDN lub innym serwerem proxy, który może zapewnić połączenie HTTPS.
Jeśli to nadal nie jest możliwe, spróbuj złagodzić ustawienie zabezpieczenia SameSite
pliki cookie, których dotyczy problem.
- Jeśli blokowane są tylko pliki cookie (
SameSite=Strict
), możesz zmniejszyć liczbę plików cookie ochronę na stronieLax
. - W sytuacji, gdy zarówno pliki cookie
Strict
, jak iLax
są blokowane, są wysyłane na bezpieczny URL (lub ustawiane z niego), możesz zmniejszyć zabezpieczeń na poziomieNone
.- To obejście nie uda się, jeśli adres URL, na który wysyłasz pliki cookie (lub
nie jest bezpieczne. Dzieje się tak, ponieważ
SameSite=None
wymaga parametruSecure
w plikach cookie, co oznacza, że nie mogą one być wysyłane lub przez niezabezpieczone połączenie. W takim przypadku nie będzie można uzyskać dostępu do ten plik cookie, dopóki witryna nie zostanie uaktualniona do HTTPS. - Pamiętaj, że jest to sytuacja tymczasowa, ponieważ w przyszłości pliki cookie innych firm przestaną być zostały całkowicie wycofane.
- To obejście nie uda się, jeśli adres URL, na który wysyłasz pliki cookie (lub
nie jest bezpieczne. Dzieje się tak, ponieważ
Jak wpłynie to na moje pliki cookie, jeśli nie określę atrybutu SameSite
?
Pliki cookie bez atrybutu SameSite
są traktowane tak, jakby zostały określone
SameSite=Lax
i ten sam schemat działania odnosi się do tych plików cookie, co
cóż. Pamiętaj, że nadal ma zastosowanie tymczasowy wyjątek od niebezpiecznych metod – zobacz
łagodzenie skutków działań Lax i POST w Chromium SameSite
Najczęstsze pytania.
Jaki ma to wpływ na standard WebSockets?
Połączenia WebSocket będą nadal uznawane za tę samą witrynę, jeśli są takie same bezpieczeństwa witryny.
Ta sama witryna:
wss://
przesiadka z:https://
ws://
przesiadka z:http://
Wiele witryn:
wss://
przesiadka z:http://
ws://
przesiadka z:https://
Fot. Julissa Capdevilla, włączono Odloty