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
// 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.