SameSite tulajdonság
A Chrome 51-től kezdve egy új SameSite attribútumot adtak hozzá a böngésző sütikhez, hogy megakadályozza a CSRF támadásokat és a felhasználói követést (rosszindulatú harmadik féltől származó sütikvásárlás), valamint korlátozza a harmadik féltől származó sütiket, ezzel csökkentve a biztonsági kockázatokat.
SameSite az RFC6265bis-ben definiálva:A hiperlink bejelentkezés látható.
A CSRF Attack összefoglalóról:
A SameSite tulajdonság három értékre állítható:Strict、Lax、None。
Szigorú: Szigorúan tiltja a harmadik feleknek a sütikhez való hozzáférését, és semmilyen körülmények között nem küld sütit, ha áthaladnak; A sütik csak akkor kerülnek be, ha az aktuális oldal URL-je megegyezik a kérés célpontjával. Ez a szabály túl szigorú, és nagyon rossz felhasználói élményt okozhat. Például, ha a jelenlegi weboldalon van GitHub link, a felhasználóknak nem lesznek GitHub sütikeik, amikor rákattintanak az ugrásra, és az ugrás mindig be volt kapcsolva.
Laza: A keresztoldalak közötti megelőzés megakadályozza, a legtöbb esetben tilos a sütik beszerzése, kivéve a GET kéréseket (linkek, előbetöltések, GET űrlapok), amelyek a cél URL-re navigálnak; Ha a Strict vagy Lax beállított, a CSRF támadások gyakorlatilag megszűnnek. Természetesen ez akkor van, ha a böngésző támogatja a SameSite tulajdonságot.
SameSite attribútumAlapértelmezett SameSite=Lax[Ez a művelet azokra a verziókra vonatkozik, amelyek a Google 2019. február 4-én kiadta a Chrome 80 stabil verziót]
Egyik sem: Nincs határ.
A Secure attribútumot is be kell állítani (a cookie-kat csak az HTTPS protokollon keresztül lehet küldeni), különben nem lesz érvényes. [Ez a művelet azokra a verziókra vonatkozik, amelyek a Google 2019. február 4-én kiadta a Chrome 80 stabil verziót]
Tesztelje a SameSite tulajdonságot
Dinamikusan töltünk be egy képet az A helyszínről az F12 konzolon keresztül az A helyszínen, a kód a következő:
A hálózati kérésből láthatjuk, hogy amikor az A oldal képet kér az A oldal domain nevéről, akkorSütiket hordj(A SameSite-nek nincs beállítása, azaz Lax), ahogy az alábbi képen is látható:
Véletlenszerűen találunk egy B helyet, majd dinamikusan töltjük be az A hely képét, és megtaláljukNem hordozBármilyen süti az alábbiakban:
(Vége)
|