|
|
Geplaatst op 17-4-2022 20:24:47
|
|
|
|

SameSite-eigenschap
Vanaf Chrome 51 is er een nieuw SameSite-attribuut toegevoegd aan de cookies van de browser om CSRF-aanvallen en gebruikerstracking (kwaadaardige verwerving van cookies door derden) te voorkomen en om cookies van derden te beperken, waardoor de beveiligingsrisico's worden verminderd.
SameSite gedefinieerd in RFC6265bis:De hyperlink-login is zichtbaar.
Over CSRF Attack Recap:
De SameSite-eigenschap kan worden ingesteld op drie waarden:Strict、Lax、None。
Streng: Verbied strikt dat derden cookies verkrijgen, en verzend onder geen enkele omstandigheid cookies wanneer ze cross-site zijn; Cookies worden alleen opgenomen als de URL van de huidige pagina overeenkomt met het verzoekdoel. Deze regel is te streng en kan een zeer slechte gebruikerservaring veroorzaken. Als er bijvoorbeeld een GitHub-link op de huidige webpagina staat, hebben gebruikers geen GitHub-cookies wanneer ze op de sprong klikken, en de sprong is altijd uitgelogd.
Slap: Voorkom cross-site, in de meeste gevallen is het verboden om cookies te verkrijgen, behalve voor GET-verzoeken (links, preloads, GET-formulieren) die naar de bestemmings-URL navigeren; Zodra Strict of Lax is ingesteld, worden CSRF-aanvallen in feite geëlimineerd. Natuurlijk geldt dat de gebruikersbrowser de SameSite-eigenschap ondersteunt.
SameSite-attribuutDefault SameSite=Lax[Deze operatie geldt voor versies nadat Google de stabiele Chrome 80-versie op 4 februari 2019 heeft uitgebracht]
Geen: Er is geen limiet.
Het Secure-attribuut moet ook worden ingesteld (cookies kunnen alleen via het HTTPS-protocol worden verzonden), anders is het niet geldig. [Deze operatie geldt voor versies nadat Google de stabiele Chrome 80-versie op 4 februari 2019 heeft uitgebracht]
Test de SameSite-eigenschap
We laden dynamisch een afbeelding van locatie A via de F12-console op locatie A, de code is als volgt:
We kunnen aan de netwerkverzoek zien dat wanneer site A een afbeelding van de domeinnaam van site A aanvraagt, dit zal gebeurenKoekjes dragen(SameSite heeft geen instellingen, d.w.z. Lax), zoals te zien is op de onderstaande afbeelding:
We vinden willekeurig een locatie B, laden vervolgens dynamisch de afbeelding van A en vinden dieNiet dragenElke cookie, zoals hieronder getoond:
(Einde)
|
Vorig:jQuery hide werkt niet, twee oplossingenVolgend:Hoekig element ngif hidden visibility wordt weergegeven en verborgen
|