Süti-domain egyezik
Azt nézzük, hogy az oldal sütijeinek Domain értéke egyezik-e az oldal saját domainjével; ha nem, a böngésző elutasítja a sütit.
A süti (cookie) a Set-Cookie fejléccel jön létre, és tartalmazhat egy Domain attribútumot, ami megmondja, mely címekre menjen el a süti. Ha a Domain értéke nem az oldalé (vagy annak szülő-domainje), a böngésző eldobja a sütit: nem lesz sem bejelentkezés, sem kosár, sem megjegyzett beállítás, és a hibára nincs látható üzenet.
Tipikus ok egy domainváltás, amely után a régi domain bent maradt a beállításban, vagy egy teszt-, fejlesztői címről átmásolt konfiguráció.
Hogyan mérjük
Szekció neve “Hogyan mérjük”A riport a nyitóoldal végső válaszának Set-Cookie fejléceit vizsgálja. Minden olyan sütit, amelynek van Domain attribútuma, összevet az oldal hostjával:
- A
Domainértékéből az elején álló pont (.pelda.hu) elhagyódik, és kisbetűssé válik. - Megfelelő: a
Domainmegegyezik az oldal hostjával, vagy az oldal host aDomainaldomainje (például a hostwww.pelda.hu, aDomainpelda.hu). - Hiba: a
Domainmás domain, és az oldal hostja sem aldomainje annak. A riport kilistázza a hibás sütik nevét (legfeljebb 10-et). - Domain nélküli sütik (ez a gyakori eset) megfelelőnek számítanak.
- Nem értékelhető: ha a válasz egyáltalán nem állít be sütit.
A teszt csak a nyitóoldal válaszát nézi, a későbbi oldalakon (bejelentkezés, kosár) beállított sütiket nem. A nyilvános utótagokat (public suffix, például .com) sem veszi figyelembe, pedig a böngészők az ilyen Domain értéket is elutasítják.
Hogyan javítsd
Szekció neve “Hogyan javítsd”A legegyszerűbb és legbiztonságosabb: ne adj meg Domain attribútumot. Ilyenkor a süti csak annak a hostnak megy el, amelyik beállította (host-only süti). Csak akkor add meg, ha a sütit az aldomainek között is meg kell osztani, és akkor is az oldal saját domainjét vagy annak szülő-domainjét használd.
- Nézd meg, melyik süti hibás (a riport kiírja a nevét), és hogy ki állítja be: a WordPress, egy bővítmény, a PHP-munkamenet, vagy a webszerver.
- Javítsd a forrásnál az alábbiak szerint.
WordPress
Szekció neve “WordPress”Ha a wp-config.php-ben van COOKIE_DOMAIN megadva, és az nem az oldalad domainje, javítsd vagy töröld:
define( 'COOKIE_DOMAIN', 'www.pelda.hu' );A legtöbb oldalnál a sor nem is kell; ilyenkor a WordPress magától kezeli a domaint. Egy másik domainről átmásolt wp-config.php-ben szokott megmaradni a régi érték.
A PHP-munkamenet sütijének domainjét a php.ini-ben a session.cookie_domain állítja. Az alapérték üres, ami host-only sütit jelent. Ha beállítottad, az a te domainedet tartalmazza; egyébként hagyd üresen. Saját kódban a setcookie() domain paramétere, a munkamenetnél a session_set_cookie_params() ugyanígy működik.
Bővítmények és külső szolgáltatások
Szekció neve “Bővítmények és külső szolgáltatások”Ha a hibás süti nem a WordPresstől vagy a PHP-től jön, hanem egy bővítménytől (vagy a webszerver előtti réteg állítja), a bővítmény beállításaiban keresd a domain, süti-domain mezőt, és javítsd a saját domainedre.
Hogyan ellenőrizd
Szekció neve “Hogyan ellenőrizd”Futtasd újra a riportot. Parancssorból megnézheted a beállított sütiket:
curl -sI https://pelda.hu/ | grep -i "^set-cookie"Minden sor Domain= részét vesd össze az oldal címével. A böngésző fejlesztői eszközeinek Alkalmazás (Application) → Sütik (Cookies) paneljén is látod a sütik domainjét, és azt, ha egy sütit a böngésző elutasított.
Készült: