PHP ile Session Yönetimi Nedir?
Bir oturum süresi aşıldığında, kullanıcı tekrar giriş yaparak oturumunu yenilemek zorunda kalır. Bu özellik, güvenlik açısından oldukça önemli çünkü kullanıcılar uzun süre işlem yapmadıklarında oturumları otomatik olarak kapanır ve kötü niyetli kişiler tarafından erişim sağlanmasının önüne geçilir.
PHP’de Session Timeout Nasıl Ayarlanır?
İlk olarak, PHP oturumu başlatmak için session_start() fonksiyonunu çağırmamız gerekiyor. Ardından, oturum süresi ayarlarını yapabiliriz.
# Session Timeout Ayarlama Örneği:
300)) {
// Oturum süresi dolmuşsa, çıkış yap
session_unset();
session_destroy();
echo "Oturum süreniz doldu, lütfen tekrar giriş yapın.";
} else {
$_SESSION['LAST_ACTIVITY'] = time(); // Son işlem zamanını güncelle
}
?>
Yukarıdaki kod örneğinde, PHP ile oturum süresi 5 dakika olarak ayarlanmıştır. Eğer kullanıcı 5 dakika boyunca hiçbir işlem yapmazsa, oturum sona erer ve kullanıcıya bir mesaj gösterilir. Bu, hem güvenliği artırır hem de kullanıcıyı bilgilendirir.
Session Timeout ve Güvenlik
Eğer bir oturum süresi sonlandıysa, tüm oturum verileri temizlenmeli ve kullanıcıya tekrar giriş yapması gerektiği belirtilmelidir. PHP’de bu işlemi gerçekleştirmek oldukça kolaydır. Bununla birlikte, session timeout sürelerini çok kısa tutmak da kullanıcı deneyimini olumsuz etkileyebilir. Bu yüzden, ideal süreyi belirlemek çok önemlidir. Genellikle 5-10 dakika arasında bir süre, kullanıcı deneyimi ve güvenlik açısından dengeli bir tercih olabilir.
Kullanıcıyı Yönlendirme
# Kullanıcıyı Yönlendirme Örneği:
300)) {
// Oturum süresi dolmuşsa, çıkış yap ve yönlendir
session_unset();
session_destroy();
header("Location: login.php"); // Kullanıcıyı login sayfasına yönlendir
exit();
} else {
$_SESSION['LAST_ACTIVITY'] = time(); // Son işlem zamanını güncelle
}
?>
Bu yöntem, kullanıcıların oturum süresi dolduğunda onları otomatik olarak giriş sayfasına yönlendirir ve böylece oturumun güvenli bir şekilde sonlandırılmasını sağlar.
Sonuç
Eğer oturum yönetiminizi doğru şekilde yapmazsanız, kötü niyetli kişiler kullanıcı bilgilerini çalabilir veya hesaplarını ele geçirebilir. Bu yüzden, session timeout ayarlarını doğru bir şekilde yapılandırmak, her web geliştiricisinin en öncelikli görevi olmalıdır.