Süti: Secure
A teszt azt nézi, kapnak-e Secure jelzőt a kezdőoldal sütijei; nélküle a süti titkosítatlan kapcsolaton is elmenne.
A Secure jelzővel ellátott sütit a böngésző csak https: kapcsolaton küldi el a szervernek (az MDN szerint localhost kivételével). Így egy hálózaton közbeékelődő támadó nem tudja titkosítatlan kérésből kiolvasni. Ha a jelző hiányzik, a süti titkosítatlan kapcsolaton is elmehet.
Hogyan mérjük
Szekció neve “Hogyan mérjük”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. A név nélküli fejlécet (nincs benne =) nem veszi sütinek.
| Eredmény | Mikor |
|---|---|
| Megfelelő | minden süti kapott Secure jelzőt |
| Hiba | legalább egy süti Secure nélkül érkezik (a riport a darabszámot és legfeljebb 10 süti nevét mutatja) |
| Nem értékelhető | az oldal nem küld sütit, vagy a végső cím nem https:// |
A teszt nem lát minden sütit: csak a kezdőoldal Set-Cookie fejléceit méri. A JavaScripttel (document.cookie) létrehozott sütiket és más oldalak sütijeit nem.
Hogyan javítsd
Szekció neve “Hogyan javítsd”A Secure jelzőt az a kód állítja be, amelyik a sütit kiadja. A riport csak a PHP munkamenet-sütijére (PHPSESSID) ad általános kódot; a többit annál kell beállítani, ami küldi (bővítmény, téma, alkalmazás).
- Nézd meg a riportban, mely sütik bukták a tesztet.
- Állapítsd meg, ki adja ki őket. A sütik neve gyakran elárulja (például
PHPSESSIDa PHP munkamenet). - Állítsd be a
Securejelzőt ott.
PHP (php.ini)
Szekció neve “PHP (php.ini)”Ha a PHPSESSID a hibás süti:
session.cookie_secure = 1PHP-kód
Szekció neve “PHP-kód”Saját kódban a setcookie() tömbös alakja (PHP 7.3-tól) tartalmazza a secure kulcsot:
setcookie( 'nev', 'ertek', [ 'secure' => true, 'httponly' => true, 'samesite' => 'Lax' ] );A samesite értéke None, Lax vagy Strict lehet (php.net).
nginx (ha proxy mögött küldi a süti)
Szekció neve “nginx (ha proxy mögött küldi a süti)”Ha az nginx egy másik szerver válaszát továbbítja, a proxy_cookie_flags az 1.19.3 verziótól kapcsolhat jelzőt a sütikre:
proxy_cookie_flags ~ secure;A ~ az összes sütire vonatkozik. Ez csak a továbbított válaszokra hat, és természetesen csak akkor jó, ha az oldal https-en érhető el.
Hogyan ellenőrizd
Szekció neve “Hogyan ellenőrizd”Futtasd újra a riportot, vagy nézd meg parancssorban:
curl -sI "https://pelda.hu/?v=1" | grep -i '^set-cookie:'Minden kiírt sor végén ott legyen a Secure.
Készült: