Sobes.tech
Junior

Cookie-ləri necə qurmaq olar ki, 3 gün sonra silinsin?

sobes.tech Süni İntellekt

AI-dan cavab

3 gün sonra silinəcək "cookie" qurmaq üçün expires və ya max-age atributundan istifadə edə bilərsiniz.

  • expires: Müəyyən bir son istifadə tarixi və saatını təyin edir. Tarix GMT formatında olmalıdır.

  • max-age: "cookie"nin bitmə müddətini, yaradılma anından etibarən saniyə ilə təyin edir. Bu, daha çevik və tövsiyə olunan bir yoldur.

JavaScript-də max-age istifadə nümunəsi:

// İndiki vaxtı millisekundlarda alırıq
const now = new Date().getTime();

// 3 gün üçün millisekundlarda vaxt hesablayırıq
const threeDaysInMilliseconds = 3 * 24 * 60 * 60 * 1000;

// Bitmə vaxtını millisekundlarda hesablayırıq
const expirationTime = now + threeDaysInMilliseconds;

// Bitmə vaxtı üçün Date obyekti yaradırıq
const expirationDate = new Date(expirationTime);

// GMT formatına çevirərək expires atributu ilə cookie qururuq
//document.cookie = "myCookie=myValue; expires=" + expirationDate.toUTCString();

// Yaxşı təcrübə üçün max-age istifadə edirik
const threeDaysInSeconds = 3 * 24 * 60 * 60;
document.cookie = "myCookie=myValue; max-age=" + threeDaysInSeconds;

// Əlavə atributlar:
// secure - cookie yalnız HTTPS ilə göndərilir
// HttpOnly - cookie document.cookie vasitəsilə əldə edilə bilməz (XSS qoruma)
// path - cookie üçün yol
// domain - cookie üçün domen
// SameSite - cross-site sorğularında cookie göndərilməsini qarşısını alır (tövsiyə: Strict, Lax)
document.cookie = "myCookie=myValue; max-age=" + threeDaysInSeconds + "; path=/; secure; SameSite=Lax";

expiresmax-age müqayisəsi:

Atribut Təsviri Format Üstünlüklər Çatışmazlıqlar
expires Müəyyən bir son istifadə tarixini göstərir. GMT formatında tarix. Köhnə brauzerlərlə uyğunluq. Müştərinin saatına bağlıdır.
max-age Son istifadə müddətini saniyə ilə göstərir. Saniyə sayı. Müştərinin saatına bağlı deyil. Daha çevik. Tövsiyə olunur. Köhnə brauzerlər tərəfindən tam dəstəklənməyə bilər.

Cookie-lər həmçinin server tərəfində də qurula bilər, məsələn, Set-Cookie başlığı istifadə edilərək.

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

Burada, Max-Age=259200 3 günə bərabərdir (3 * 24 * 60 * 60).