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:
secureveHttpOnlyö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ı!";