İçeriğe geç

PHP'de Session ve Cookie Kullanımı: Kullanıcı Girişi Nasıl Yapılır?

12.05.2024 4,504 okunma

Session ve Cookie Nedir?

HTTP protokolü durumsuz (stateless) bir protokoldür; her istek bağımsızdır ve sunucu önceki isteği "hatırlamaz". Web uygulamalarında kullanıcı oturumu yönetimi için Session ve Cookie mekanizmaları kullanılır. İkisi birbirini tamamlayan ama farklı çalışan yapılardır.

Cookie Kullanımı

Cookie, tarayıcıda saklanan küçük metin parçalarıdır. PHP'de cookie yönetimi:

// Cookie oluşturma (7 gün)
setcookie("kullanici", "ahmet", time() + (7 * 24 * 3600), "/");

// Cookie okuma
if (isset($_COOKIE["kullanici"])) {
    echo "Merhaba " . htmlspecialchars($_COOKIE["kullanici"]);
}

// Cookie silme (expire geçmişe al)
setcookie("kullanici", "", time() - 3600, "/");

Session Kullanımı

Session verisi sunucuda saklanır; tarayıcıya yalnızca session ID'si (PHPSESSID) cookie ile gönderilir:

session_start(); // Her sayfanın başında

// Session kaydetme
$_SESSION["user_id"] = 42;
$_SESSION["role"] = "admin";

// Session okuma
if (isset($_SESSION["user_id"])) {
    echo "Giriş yapan kullanıcı: " . $_SESSION["user_id"];
}

// Session sonlandırma (çıkış)
session_destroy();

Session ve Cookie Farkı

  • Cookie: Tarayıcıda saklanır, kullanıcı görebilir/silebilir, belirli süre geçerli.
  • Session: Sunucuda saklanır, daha güvenli, tarayıcı kapanınca genellikle sona erer.
  • Hassas veriler (user_id, rol) session'da; kullanıcı tercihleri (tema, dil) cookie'de saklanır.

Güvenlik Önlemleri

  • Session fixation saldırısına karşı giriş sonrası session_regenerate_id(true) çağırın.
  • Cookie'lerde HttpOnly ve Secure bayraklarını aktifleştirin.
  • HTTPS üzerinden çalışmayan sitelerde cookie'ler risklidir.
  • Session verilerini sanitize edin; doğrudan HTML'e basmayın.

Kullanıcı Giriş Sistemi Örneği

Tipik bir PHP giriş akışı: Kullanıcı form gönderir → şifre hash ile karşılaştırılır → başarılıysa $_SESSION["user_id"] set edilir → korumalı sayfalarda session kontrol edilir → çıkışta session imha edilir.

Bilkey PHP Programlama Kursu

Bilkey Bilişim Akademisi PHP Programlama Kursu'nda session, cookie, güvenlik ve veritabanı entegrasyonu konuları gerçek proje senaryolarıyla uygulamalı öğretilmektedir. Kurtköy merkezimizde PHP uzmanı olun. 0216 354 7979

php session kullanımı php cookie php kullanıcı girişi php oturum yönetimi php login sistemi
Php - MySQL Eğitimi hakkında bilgi almak ister misiniz?

Birebir özel yüz yüze eğitim yada uzaktan eğitim, esnek ders saatleri ile Pendik Kurtköy'de.