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";
expires və max-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).