Giriş: Session ve Cookie Nedir?
Session
ve cookie
, web uygulamalarında kullanıcıların bilgilerini depolamak için kullanılan iki önemli kavramdır. Session
, sunucu tarafında bilgileri saklamak için kullanılırken, cookie
ise tarayıcı tarafında bilgileri saklamak için kullanılır.
1. Session Kullanımı
Session Başlatma ve Değer Atama:
// Session başlatma
session_start();
// Session'a değer atama
$_SESSION['kullanici_id'] = 123;
$_SESSION['kullanici_ad'] = 'John Doe';
Session Değerine Erişme ve Kontrol:
// Session başlatma
session_start();
// Session değerlerine erişme ve kontrol
if (isset($_SESSION['kullanici_id'])) {
echo "Kullanıcı ID: " . $_SESSION['kullanici_id'];
} else {
echo "Oturum başlatılmamış";
}
Session Değerini Silme:
// Session başlatma
session_start();
// Session değerini silme
unset($_SESSION['kullanici_id']);
2. Cookie Kullanımı
Cookie Oluşturma:
// Cookie oluşturma (bir saat boyunca geçerli)
setcookie("kullanici_ad", "John", time() + 3600, "/");
Cookie Değerine Erişme ve Kontrol:
// Cookie değerine erişme ve kontrol
if (isset($_COOKIE['kullanici_ad'])) {
echo "Kullanıcı Adı: " . $_COOKIE['kullanici_ad'];
} else {
echo "Cookie bulunamadı";
}
Cookie Değerini Silme:
// Cookie değerini silme
setcookie("kullanici_ad", "", time() - 3600, "/");
3. Güvenlik İpuçları:
- Session Güvenliği:
session_regenerate_id()
fonksiyonunu kullanarak oturum kimliğini güncellemek, oturum saldırılarına karşı bir önlem sağlar.
// Session güvenliği
session_start();
session_regenerate_id(true);
- Cookie Güvenliği:
secure
veHttpOnly
özelliklerini kullanarak cookie güvenliğini artırabilirsiniz.
// Güvenli cookie oluşturma
setcookie("kullanici_ad", "John", time() + 3600, "/", "", true, true);
4. Pratik Uygulama: Giriş ve Çıkış Yönetimi
Giriş Kontrolü:
session_start();
// Kullanıcı girişi kontrolü
if (isset($_SESSION['kullanici_id'])) {
echo "Hoş geldiniz, " . $_SESSION['kullanici_ad'];
} else {
echo "Giriş yapmadınız!";
}
Çıkış Yapma:
session_start();
// Çıkış yapma
session_unset();
session_destroy();
echo "Çıkış yapıldı!";