Sobes.tech
Junior

Hogyan állíthatom be a cookie-kat úgy, hogy 3 nap múlva törlődjenek?

sobes.tech MI

Válasz az MI-től

3 nap múlva törlődő "cookie" beállításához használhatja az expires vagy max-age attribútumot.

  • expires: Egy konkrét dátumot és időpontot ad meg a lejáratra. A dátumnak GMT formátumban kell lennie.

  • max-age: Megadja a másodpercek számát, ameddig a "cookie" érvényes marad, a létrehozás pillanatától számítva. Ez egy rugalmasabb és ajánlott módszer.

JavaScript példában max-age használatával:

// A jelenlegi idő millisekundumban
const now = new Date().getTime();

// Számítsuk ki a 3 napot millisekundumban
const threeDaysInMilliseconds = 3 * 24 * 60 * 60 * 1000;

// Számítsuk ki a lejárati időt millisekundumban
const expirationTime = now + threeDaysInMilliseconds;

// Hozzunk létre egy Date objektumot a lejárati időre
const expirationDate = new Date(expirationTime);

// Állítsuk be a cookie-t az expires attribútummal, a dátum GMT formátumba konvertálva
//document.cookie = "myCookie=myValue; expires=" + expirationDate.toUTCString();

// Vagy használjuk a max-age-t (ajánlott)
const threeDaysInSeconds = 3 * 24 * 60 * 60;
document.cookie = "myCookie=myValue; max-age=" + threeDaysInSeconds;

// További attribútumok a legjobb gyakorlat érdekében:
// secure - a cookie csak HTTPS-en keresztül kerül elküldésre
// HttpOnly - a cookie nem érhető el a document.cookie-n keresztül (védelmet nyújt az XSS ellen)
// path - az útvonal, ahol a cookie érvényes
// domain - a domain, ahol a cookie érvényes
// SameSite - megakadályozza a cookie küldését cross-site kérésekben (ajánlott: Strict, Lax)
document.cookie = "myCookie=myValue; max-age=" + threeDaysInSeconds + "; path=/; secure; SameSite=Lax";

Az expires és max-age összehasonlítása:

Attribútum Leírás Formátum Előnyök Hátrányok
expires Egy konkrét lejárati dátumot ad meg. GMT formátumú dátum. Kompatibilis régebbi böngészőkkel. A kliens pontos időpontjától függ.
max-age A lejáratig hátralévő másodpercek számát adja meg. Szám (másodperc). Nem függ a kliens időpontjától. Rugalmasabb. Ajánlott. Lehet, hogy nem támogatott teljes mértékben régebbi böngészőkben.

A cookie-k szerver oldalról is beállíthatók, például a Set-Cookie fejléc használatával.

Set-Cookie: myCookie=myValue; Max-Age=259200; Path=/; Secure; SameSite=Lax

Itt a Max-Age=259200 megfelel 3 napnak másodpercekben (3 * 24 * 60 * 60).