Sobes.tech
Junior

Çerezleri 3 gün sonra silinecek şekilde nasıl ayarlayabilirim?

sobes.tech yapay zeka

AI'dan gelen yanıt

3 gün sonra silinecek "cookie" ayarlamak için expires veya max-age özniteliği kullanılabilir.

  • expires: Belirli bir son kullanma tarihi ve saati ayarlar. Tarih GMT formatında olmalıdır.

  • max-age: "cookie"nin sona erme süresini, oluşturulma anından itibaren saniye cinsinden belirler. Bu, daha esnek ve önerilen bir yöntemdir.

JavaScript'te max-age kullanımı örneği:

// Şu anki zamanı milisaniye cinsinden alıyoruz
const now = new Date().getTime();

// 3 gün için milisaniye cinsinden süre hesapla
const threeDaysInMilliseconds = 3 * 24 * 60 * 60 * 1000;

// Son kullanma zamanını milisaniye cinsinden hesapla
const expirationTime = now + threeDaysInMilliseconds;

// Son kullanma zamanı için Date nesnesi oluştur
const expirationDate = new Date(expirationTime);

// GMT formatında tarihi dönüştürerek expires özniteliği ile cookie ayarla
//document.cookie = "myCookie=myValue; expires=" + expirationDate.toUTCString();

// veya `max-age` kullan (tavsiye edilir)
const threeDaysInSeconds = 3 * 24 * 60 * 60;
document.cookie = "myCookie=myValue; max-age=" + threeDaysInSeconds;

// En iyi uygulamalar için ek öznitelikler:
// secure - cookie sadece HTTPS üzerinden gönderilir
// HttpOnly - cookie document.cookie aracılığıyla erişilemez (XSS koruması)
// path - cookie'nin geçerli olduğu yol
// domain - cookie'nin geçerli olduğu alan adı
// SameSite - cross-site isteklerde cookie gönderimini engeller (tavsiye edilen: Strict, Lax)
document.cookie = "myCookie=myValue; max-age=" + threeDaysInSeconds + "; path=/; secure; SameSite=Lax";

expires ve max-age karşılaştırması:

Öznitelik Açıklama Format Avantajlar Dezavantajlar
expires Belirli bir sona erme tarihi gösterir. GMT formatında tarih. Eski tarayıcılarla uyumlu. Müşterinin saatine bağlıdır.
max-age Sona erme süresini saniye cinsinden belirtir. Saniye sayısı. Saat dilimine bağlı değildir. Daha esnektir. Tavsiye edilir. Eski tarayıcılar tarafından tam desteklenmeyebilir.

Ayrıca, "cookie" sunucu tarafında da ayarlanabilir, örneğin Set-Cookie başlığı kullanılarak.

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

Burada, Max-Age=259200 3 günün saniye karşılığıdır (3 * 24 * 60 * 60).