Cookie és session a weben
Cookie működése HTTP-ban: Set-Cookie, Cookie header, Domain, Path, Expires/Max-Age, Secure, HttpOnly és SameSite.
Röviden
A cookie kis név–érték adat, amelyet a szerver Set-Cookie válaszheaderrel állíthat be, a böngésző pedig a szabályoknak megfelelő későbbi kérésekhez Cookie headerben csatolhat. A session gyakran csak egy cookie-ban tárolt azonosítót használ a szerveroldali állapot eléréséhez.
Mit jelent a cookie és session a weben?
A cookie kis név–érték adat, amelyet a szerver Set-Cookie válaszheaderrel állíthat be, a böngésző pedig a szabályoknak megfelelő későbbi kérésekhez Cookie headerben csatolhat. A session gyakran csak egy cookie-ban tárolt azonosítót használ a szerveroldali állapot eléréséhez.
Cookie életút
01
Set-Cookie
02
Tárolás
03
Scope
04
Cookie header
05
Lejárat
Hogyan működik a gyakorlatban?
A Domain és Path meghatározza a küldési scope-ot; Secure HTTPS-re korlátoz; HttpOnly megakadályozza a közvetlen JavaScript-hozzáférést; SameSite cross-site küldési szabályt ad. Expiration nélkül a cookie tipikusan session cookie.
- Cookie mérete korlátozott, nem általános kliens-adatbázis.
- HttpOnly auth credentialnél erős alap lehet.
- SameSite biztonságot és cross-site integrációt egyszerre érint.
- Cookie tartalmát a szervernek továbbra is validálnia/ellenőriznie kell.
Gyakorlati fejlesztői szemlélet
Auth cookie-nál használd a lehető legszűkebb scope-ot és biztonságos attribútumokat. Ne tedd bele azt az érzékeny adatot, amelynek a kliensoldali olvasása vagy kiszivárgása szükségtelen.
Gyakori hibák és félreértések
- Cookie-t és sessiont szinonimának használni.
- HttpOnly-t teljes XSS-védelemnek hinni.
- Domain=.example.com beállítással indokolatlanul minden subdomainre kiterjeszteni credentialt.
Források és szabványok
A technikai részletekhez elsődleges szabványokat és karbantartott hivatalos dokumentációt használok. Frameworkök, böngészők és webes API-k idővel változhatnak, ezért implementálás előtt mindig ellenőrizd az aktuális dokumentációt is.
Kapcsolódó ByBence Academy