PHP 7.4 ile oturum yönetimi (session management) nasıl yapılır? (session_start(), $_SESSION, session_destroy())

Oturum Yönetimi Nedir?

Oturum yönetimi, web uygulamalarında kullanıcıların kimliklerini tanımlamak ve takip etmek için kullanılan bir tekniktir. Her bir kullanıcı oturumu, belirli bir süre boyunca kullanıcının gerçekleştirdiği etkinlikleri izlemek amacıyla sunucuda saklanır. PHP, oturum yönetimi için bir dizi yerleşik işlev sunmaktadır ve bu işlevler, kullanıcının belirli bir tarayıcı sekmesinde gezindiği sürede bilgi tutulmasını sağlar.

Oturum Başlatma: session_start()

Oturum yönetiminin ilk adımı, oturumu başlatmaktır. Bunun için `session_start()` fonksiyonu kullanılır. Oturum başlatmak, sunucu tarafında bir oturum kimliği (session ID) oluşturur ve bu kimliği tarayıcıda bir çereze (cookie) saklar. `session_start()` çağrılmadan önce, PHP dosyasında herhangi bir çıktı verilmemesi gerekir. Aksi halde, “headers already sent” hatası ortaya çıkabilir.

“`php

“`

Yukarıdaki örnekte, `session_start()` fonksiyonu çağrılarak oturum başlatılmıştır. Bu noktadan itibaren `$_SESSION` süper kümesi kullanılarak oturum verilerine erişilir ve bu veriler güncellenebilir.

Oturum Verilerini Saklama: $_SESSION

PHP’de oturum verilerini saklamak için `$_SESSION` süper kümesi kullanılır. Bu dizi, oturumda saklanacak verileri anahtar-değer çiftleri şeklinde tutar. Oturum verileri, PHP’de otomatik olarak sunucu tarafında saklanır ve kullanıcıdan bağımsız olarak güvenli bir şekilde yönetilir.

“`php

“`

Yukarıdaki örnekte, kullanıcı adı ve e-posta adresi oturumda saklanmaktadır. `$_SESSION` kullanılarak verilerle işlem yapıldıkça, bu bilgiler sunucuda kalacaktır. Başka bir sayfada `$_SESSION[‘username’]` ifadesini kullanarak bu verilere erişmek mümkündür. Bu, kullanıcıların oturum verilerini herhangi bir yerden okuyabilmelerini sağlar.

Oturum Verilerinin Erişimi ve Güncellenmesi

Oturum verilerine erişim oldukça basittir. Daha önce saklanmış olan verilere, `$_SESSION` dizisi üzerinden anahtar adı ile erişilir. Gerekli güncellemeler bu dizi aracılığıyla yapılabilir.

“`php

“`

Bu örnekte, kullanıcı adı hem ekrana yazdırılmış hem de güncellenmiştir. Oturum verileri web uygulamasının farklı bölümlerinde sürekli erişilebilir.

Oturum Kapatma: session_destroy()

Kullanıcı oturumunu sonlandırmak için `session_destroy()` fonksiyonu kullanılır. Bu işlem, oturum verilerini sunucudan siler. Ancak, bu fonksiyon çağrılmadan önce `session_start()` fonksiyonunun çağrılması gerekmektedir. Aksi takdirde, oturum yok sayılır ve bir hata mesajı alınabilir.

“`php

“`

`session_destroy()` fonksiyonu, oturum verilerini tamamen siler ve kullanıcının tekrar oturum açması gerekebilir. Bu işlem yapıldığında, mevcut `$_SESSION` dizisi geçersiz hale gelir. Kullanıcının oturumu kapatıldıktan sonra sayfa yenilenirse, artık önceki oturum verilerine erişim mümkün değildir.

Oturum Süresi ve Güvenlik

Oturum yönetiminde güvenlik, önemli bir konudur. Oturum çerezleri üzerinden oturum kimliklerinin ele geçirilmesi, kullanıcı bilgilerini tehlikeye atabilir. Bu nedenle oturum süreleri ayarlanmalı, gereksiz yere uzun tutulmamalıdır. Oturum zaman aşımı, belirli bir süre boyunca etkinlik olmaması durumunda otomatik olarak gerçekleşir.

Ayrıca, HTTPS protokolünün kullanılması, çerezlerin güvenliğinin artırılmasına yardımcı olur. SESSION çerezleri, yalnızca güvenli bağlantılar üzerinden aktarılmalıdır. Ayrıca, çerezlere `HttpOnly` ve `Secure` bayrakları eklenerek güvenlik artırılabilir.

PHP Oturum Yönetiminde İyi Uygulamalar

– Oturum kimliklerinin tahmin edilmeyecek şekilde oluşturulması.
– Oturum verilerinin doğrulanması ve temizlenmesi.
– Kullanıcı çıkış yaptığında oturumu sonlandırmak için `session_destroy()` kullanılması.
– Oturum sürelerinin belirli bir süreden sonra sona erdirilmesi.

Bu temel bilgiler, PHP 7.4 ile oturum yönetimi yaparken dikkat edilmesi gereken konuları kapsamaktadır. Uygulama geliştirme sürecinde bu yöntemleri uygulamak, kullanıcı deneyimini ve sistem güvenliğini artıracaktır.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR