Tovább a tartalomhoz

Süti: SameSite

A teszt azt nézi, van-e SameSite attribútuma a kezdőoldal sütijeinek; állíts be Lax vagy Strict értéket.

A SameSite attribútum azt szabályozza, hogy a böngésző elküldi-e a sütit az idegen oldalról érkező (cross-site) kérésekkel. A php.net szerint ezzel a szerver jelezheti, hogy a sütit nem kell cross-site kéréssel együtt küldeni, ami csökkenti az információszivárgás kockázatát. Az MDN szerint három értéke van: Strict, Lax és None.

  • Strict: a süti csak azonos oldalról indított kéréssel megy el.
  • Lax: a süti idegen oldalról is elmegy, ha a látogató egy hivatkozásra kattintva érkezik az oldalra (biztonságos metódusú, felső szintű navigáció), de beágyazott kéréssel nem.
  • None: a süti idegen oldalról érkező kéréssel is elmegy; ehhez a Secure jelző is kötelező.

A riport letölti a kezdőoldalt (legfeljebb 5 átirányítást követ), és a végső válasz Set-Cookie fejléceit nézi meg.

Eredmény Mikor
Megfelelő minden sütinek van SameSite attribútuma
Hiba legalább egy süti SameSite nélkül (vagy üres értékkel) érkezik (a riport a darabszámot és legfeljebb 10 nevet mutatja)
Nem értékelhető az oldal nem küld sütit

A teszt csak azt nézi, hogy az attribútum megvan-e; az értéket nem: a Strict, a Lax és a None egyaránt megfelelő. A JavaScripttel létrehozott sütiket és a nem a kezdőoldalon beállított sütiket nem látja.

Az attribútumot az a kód állítja be, amelyik a sütit kiadja. A riport kódrészlete csak a PHP munkamenet-sütijére (PHPSESSID) szól; a többit annál kell beállítani, ami küldi.

Melyiket válaszd? A Lax a legtöbb oldalon jó kiindulás: a belső hivatkozások és az idegen oldalról érkező kattintások működnek. A Strict akkor jó, ha a sütire idegen oldalról érkezve sem lehet szükség. A None csak akkor kell, ha a sütit szándékosan idegen oldalról beágyazva is használni kell, és ehhez Secure is kell.

Ha a PHPSESSID a hibás süti:

php.ini
session.cookie_samesite = "Lax"

Saját kódban a setcookie() tömbös alakja (PHP 7.3-tól); a samesite értéke None, Lax vagy Strict:

PHP
setcookie( 'nev', 'ertek', [ 'secure' => true, 'httponly' => true, 'samesite' => 'Lax' ] );

nginx (ha proxy mögött küldi a süti)

Szekció neve “nginx (ha proxy mögött küldi a süti)”

Az proxy_cookie_flags direktíva (1.19.3-tól) a samesite=lax, samesite=strict és samesite=none jelzőket is ismeri:

nginx
proxy_cookie_flags ~ samesite=lax;

Ha a sütit egy bővítmény vagy webáruház adja, annak beállításában keresd a SameSite értéket, vagy kérd a fejlesztőjétől.

Futtasd újra a riportot, vagy nézd meg parancssorban:

Terminál
curl -sI "https://pelda.hu/?v=1" | grep -i '^set-cookie:'

Minden sorban legyen SameSite=Lax (vagy Strict, None).

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások