Das SameSite-Attribut eines Cookies legt fest, wann der Browser das Cookie mitsendet: nur bei Anfragen von derselben Site, oder auch bei Anfragen aus anderen Kontexten. Es ist ein wichtiger Baustein gegen CSRF (Cross-Site Request Forgery).
Die drei Werte
SameSite=Strict— das Cookie wird nur bei gleich-Site-Anfragen gesendet. Kommt ein Nutzer über einen externen Link auf die Seite, wird das Cookie zunächst nicht mitgesendet — streng, aber nutzerunfreundlich.SameSite=Lax— das Cookie wird bei Top-Level-Navigationen (Klick auf einen Link) mitgesendet, aber nicht bei eingebetteten Cross-Site-Anfragen wie Bildern oderfetch. Seit 2021 ist Lax der Standard in Chrome und den meisten Browsern, wenn kein Attribut gesetzt ist.SameSite=None— das Cookie wird in allen Kontexten gesendet; erfordert zwingend dasSecure-Flag (nur über HTTPS). Für Third-Party-Cookies nötig.
Same-Site ≠ Same-Origin
Wichtig ist die Abgrenzung zur Same-Origin-Policy: Same-Site bedeutet gleiche Registrable Domain (eTLD+1) — der Port spielt keine Rolle. Same-Origin verlangt Schema, Host und Port exakt gleich. Zwei Seiten können also same-site, aber cross-origin sein (z.B. example.com und shop.example.com unter https).
Schutz vor CSRF
Ein CSRF-Angriff bringt den Browser dazu, eine unerwünschte Anfrage an eine Seite zu senden, bei der der Nutzer eingeloggt ist. Mit SameSite=Lax (Standard) fehlt dem Cookie bei eingebetteten Cross-Site-Anfragen die Sitzung — die Anfrage ist wirkungslos. SameSite ersetzt aber keinen vollständigen CSRF-Schutz: Kombinationen wie CSRF-Tokens, CORS-Regeln und die Content-Security-Policy bleiben sinnvoll, weil SameSite per None oder über Subdomains umgangen werden kann.
Praxis-Tipps
- Cookies, die nicht für Drittanbieter-Kontexte gedacht sind, explizit mit
SameSite=Lax(oderStrict) setzen. SameSite=Nonenur verwenden, wenn Third-Party-Zugriff wirklich nötig ist — und dann immer mitSecure.- Das Attribut schützt nur, wenn der Server das Cookie überhaupt mit dem Attribut ausliefert:
Set-Cookie: session=abc; SameSite=Lax; HttpOnly; Secure.