İnternet, bilgi, bilişim güvenliğine dair her türlü karalamalara sahiplik yapan kişisel bir blog.

PHP ile Session oturum yönetimi

Php4 versiyonu ile birlikte kullanılmaya başlanan Session yani Oturum, ziyaretçi bilgilerini diğer sayfalar arasında kullanabilmemizi, özelleştirilmiş sayfalar oluşturmamızı ve şifreli sayfalar gibi daha birçok konuda bize yardımcı olan çok faydalı bir özelliktir. Siteye giren her ziyaretçi için öncelikle o ziyaretçiye özel Session ID ile oturum açılır. Bu ID tarayıcı penceresi kapatılana kadar o site için değişmez. Ziyaretçi pencereyi kapatırsa sunucudaki Session ID değeri silinir ve tekrar siteye girdiğinde yeni bir Session ID atanır. Ziyaretçinin tüm etkinlikleri, sunucu tarafında kaydedilir. Örneğin alışveriş sitelerinde gördüğünüz sepet işlemleri ve bazı özelleştirmeler Session ID ile yönetilir.

Kullanımı

session_start(); fonksiyonu oturum bilgilerine erişilmek istenen sayfaların başında mutlaka olması gereken bir komuttur. Session aslında kullanımı gayet kolay bir özelliktir, hemen basit bir uygulama ile ne kadar kolay olduğunu görelim.

Örnek Üyelik Sistemi
Giriş bilgilerini içinde tutacağımız ayarlar.php dosyamızı oluşturuyoruz.

ayarlar.php

Şimdi de ziyaretçinin giriş yapacağı index.php dosyamızı oluşturalım. Ziyaretçi bu sayfadan giriş yapacak.

index.php

Şimdi de giriş bilgilerinin denetleneceği ve sonucuna göre işlem yapacağımız denetim.php dosyasını oluşturuyoruz.

denetim.php

denetim.php dosyasında $_SESSION özelliğini kullanarak 3 yeni session tanımladık. Bunlardan giris isimli olan true değerini taşır ve diğer sayfalarda bu değişken yardımıyla giriş yapılıp yapılmadığını kontrol ederiz. kullanici ve parola session’ları da giriş yapan ziyaretçinin kullanıcı adı ve şifre bilgisini tutacak, gerektiğinde yine bu bilgiler kullanılabilecek.

Şimdi yonetim.php isimli yönetim sayfasını oluşturalım.

yonetim.php

yonetim.php dosyasında kullandığımız isset() fonksiyonu, içerisine gönderilen değişkenlerin var olup olmadığını kontrol eder. Yani bir değişken daha önceden tanımlanmışsa TRUE tanımlanmamışsa FALSE değerini döndürür. Biz giriş yapan ziyaretçi için giris isimli bir session tanımlamıştık, bu sayfada onun var olup olmadığını kontrol ettik.

Şimdi giriş yapan kullanıcının çıkış yapması için cikis.php dosyasını oluşturalım.

cikis.php

cikis.php dosyasında kullandığımız session_destroy() komutu açılmış olan oturumun tüm bilgilerini silmek için kullanılır. Bu uygulamayı localhost’ta çalıştırıp inceleyin. session kullanımının ne kadar basit olduğunu göreceksiniz.

Makalenin çalışma dosyalarına http://www.altinkaynak.biz/indir/session.zip adresinden ulaşabilirsiniz.

Mustafa

2004 yılından bu yana Web ve Bilgi Güvenliği üzerine araştırmalarda bulundum. Çok sayıda yerli yada yabancı websitelerinde bulunan zaafiyetleri ilgililere göndererek kapatılmasını sağladım. Octosec ailesindenim. Siber Güvenlik Eylem Planı kapsamında TSE Kayıtlı Sızma Uzmanı sertifikam bulunmaktadır.

1 Comment

Leave a Reply