Tovább a tartalomhoz

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ó.

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 Domain megegyezik az oldal hostjával, vagy az oldal host a Domain aldomainje (például a host www.pelda.hu, a Domain pelda.hu).
  • Hiba: a Domain má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.

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.

  1. 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.
  2. Javítsd a forrásnál az alábbiak szerint.

Ha a wp-config.php-ben van COOKIE_DOMAIN megadva, és az nem az oldalad domainje, javítsd vagy töröld:

wp-config.php
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.

Futtasd újra a riportot. Parancssorból megnézheted a beállított sütiket:

Terminál
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:

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