Własność SameSite
Począwszy od Chrome 51, do plików cookie przeglądarki dodano nowy atrybut SameSite, aby zapobiegać atakom CSRF i śledzeniu użytkowników (złośliwemu przejmowaniu plików cookie przez osoby trzecie) oraz ograniczyć pliki cookie stron trzecich, co zmniejsza ryzyko bezpieczeństwa.
SameSite zdefiniowany w RFC6265bis:Logowanie do linku jest widoczne.
O podsumowaniu ataku CSRF:
Właściwość SameSite można ustawić na trzy wartości:Strict、Lax、None。
Surowy: Surowo zabrania stronom trzecim pozyskiwania plików cookie i nie wysyła plików cookie w żadnym wypadku podczas korzystania z różnych stron; Pliki cookie będą dołączane tylko wtedy, gdy adres URL bieżącej strony odpowiada docelowemu żądaniu. Ta zasada jest zbyt surowa i może powodować bardzo złe doświadczenia użytkownika. Na przykład, jeśli na aktualnej stronie znajduje się link do GitHuba, użytkownicy nie będą mieli plików cookie GitHub po kliknięciu skoku, a skok zawsze był odlogowany.
Lax: Zapobieganie cross-site, w większości przypadków zabronione jest pobieranie plików cookie, z wyjątkiem żądań GET (linków, wstępnych ujęć, formularzy GET), które prowadzą do docelowego URL; Gdy ustalimy Strict lub Lax, ataki CSRF są praktycznie eliminowane. Oczywiście pod warunkiem, że przeglądarka użytkownika obsługuje właściwość SameSite.
Atrybut SameSiteDomyślny SameSite=Lax[Ta operacja dotyczy wersji po wydaniu stabilnej wersji Chrome 80 przez Google 4 lutego 2019 roku]
Żaden: Nie ma ograniczeń.
Atrybut Secure również musi być ustawiony (ciasteczka mogą być wysyłane tylko przez protokół HTTPS), w przeciwnym razie nie będzie ważny. [Ta operacja dotyczy wersji po wydaniu stabilnej wersji Chrome 80 przez Google 4 lutego 2019 roku]
Przetestuj własność SameSite
Dynamicznie ładujemy zdjęcie miejsca A przez konsolę F12 na stanowisku A, a kod wygląda następująco:
Widzimy z żądania sieciowego, że gdy strona A zażąda obrazu domeny strony A, toCarry cookies(SameSite nie ma ustawień, czyli Lax), jak pokazano na poniższym obrazku:
Losowo znajdujemy stronę B, a następnie dynamicznie ładujemy zdjęcie strony A i ją znajdujemyNie noszęDowolne ciasteczka, jak pokazano poniżej:
(Koniec)
|