PHP ile Cookie (Çerez) Yönetimi

Cookie (Çerez), sunucu tarafından kullanıcının tarayıcısına gönderilen ve orada saklanan küçük veri dosyalarıdır. Kullanıcı aynı siteyi tekrar ziyaret ettiğinde tarayıcı bu bilgileri sunucuya geri göndererek kullanıcının tanınmasını sağlar.

setcookie() Fonksiyonu ve Parametreleri

PHP'de bir çerez oluşturmak için setcookie() fonksiyonu kullanılır. Bu fonksiyonun aldığı temel parametreler şunlardır:

Parametre Açıklama
name Çerezin adı (Zorunludur).
value Çerezin içeriği/değeri.
expire Çerezin geçerlilik süresi (Unix zaman damgası).
path Çerezin sitenin hangi bölümlerinde geçerli olacağı.

Kod Örneği: Çerez Oluşturma ve Okuma

PHP Cookie Örneği
<?php
// 1 saat geçerli bir çerez oluşturalım
$cookie_name = "kullanici";
$cookie_value = "Ahmet Yılmaz";
setcookie($cookie_name, $cookie_value, time() + 3600, "/"); 

// Çerezi okuyalım
if(isset($_COOKIE["kullanici"])) {
    echo "Hoş geldin, " . $_COOKIE["kullanici"];
} else {
    echo "Çerez bulunamadı.";
}

// Çerezi silmek için süresini geçmişe çekelim
// setcookie("kullanici", "", time() - 3600, "/");
?>
⚠️ Önemli Uyarı: setcookie() fonksiyonu, sayfadaki herhangi bir HTML çıktısından (echo, boşluk vb.) önce çağrılmalıdır. Aksi takdirde "Headers already sent" hatası alırsınız.

Çerezler ve Güvenlik (HttpOnly)

Çerezlerin XSS saldırılarına karşı korunması için HttpOnly ve Secure parametrelerini kullanmanız önerilir. Bu, çerezlerin JavaScript tarafından okunmasını engelleyerek güvenliği artırır.