|
|
Zverejnené 17. 4. 2022 20:24:47
|
|
|
|

Vlastnosť SameSite
Od Chrome 51 bol do cookies prehliadača pridaný nový atribút SameSite, ktorý zabraňuje útokom CSRF a sledovaniu používateľov (škodlivé získavanie cookies treťou stranou) a obmedzuje cookies tretích strán, čím sa znižujú bezpečnostné riziká.
SameSite definovaný v RFC6265bis:Prihlásenie na hypertextový odkaz je viditeľné.
O CSRF Attack Rekapitulácii:
Vlastnosť SameSite možno nastaviť na tri hodnoty:Prísne、Lax、Žiadna。
Prísny: Prísne zakazujte tretím stranám získavať cookies a za žiadnych okolností neposielajte cookies pri cross-site stránkach; Cookies budú zahrnuté len v prípade, že URL aktuálnej stránky zodpovedá cieľovej požiadavke. Toto pravidlo je príliš prísne a môže spôsobiť veľmi zlú používateľskú skúsenosť. Napríklad, ak je na aktuálnej webovej stránke odkaz na GitHub, používatelia nebudú mať GitHub cookies po kliknutí na skok a skok bol vždy odprihlásený.
Laxný: Zabrániť cross-site, vo väčšine prípadov je zakázané získavať cookies, okrem požiadaviek GET (odkazy, prednačítania, GET formuláre), ktoré vedú na cieľovú URL; Keď je nastavená prísnosť alebo lax, útoky CSRF sú v podstate eliminované. Samozrejme, za predpokladu, že používateľský prehliadač podporuje vlastnosť SameSite.
Atribút SameSitePredvolený SameSite=Lax[Táto operácia sa vzťahuje na verzie po tom, čo Google vydal stabilnú verziu Chrome 80 4. februára 2019]
Žiadny: Neexistuje žiadny limit.
Atribút Secure musí byť tiež nastavený (cookies je možné posielať iba cez HTTPS protokol), inak nebude platný. [Táto operácia sa vzťahuje na verzie po tom, čo Google vydal stabilnú verziu Chrome 80 4. februára 2019]
Otestujte vlastnosť SameSite
Dynamicky načítame obrázok lokality A cez F12 konzolu na stránke A, kód je nasledovný:
Zo sieťovej požiadavky vidíme, že keď site A požiada o obrázok doménového mena site A, tak to urobíNosiť sušienky(SameSite nemá žiadne nastavenia, t. j. Lax), ako je znázornené na obrázku nižšie:
Náhodne nájdeme stránku B a potom dynamicky načítame obrázok stránky A a nájdeme juNenosímAkýkoľvek cookie, ako je uvedené nižšie:
(Koniec)
|
Predchádzajúci:jQuery hide nefunguje, dve riešeniaBudúci:Viditeľnosť uhlového prvku ngif je zobrazená a skrytá
|