Anasayfa > Dökümanlar > PHP’de oturum(Session) yönetimi

PHP’de oturum(Session) yönetimi

 

PHP’de Oturum Yönetimi ( Session )

Oturum Yönetimi ( Session ) PHP’de çok sık kullanılan prosedürlerden biridir. Session’lar ziyaretçi ile web sayfası arasında oluşturulan, ziyaretçinin sayfalar arasında gezinirken bir sayfadan diğer sayfaya taşıdığı değerleri ihtiva eden işlem dizisidir. Aslında çerezler ile kıyasladığımızda oldukça benzer yanları vardır. Şöyle düşünelim, Ziyaretçi kullanıcı adı ve şifresini girdikten sonra şifreli bir alana geçer. Sayfa içerisindeki link’lerden birine tıkladığı zaman sayfa değişecektir. Açılan bu yeni sayfada şifre korumalıdır, kullanıcı bir önceki sayfaya şifre ile girmiştir ancak bu sınama önceki sayfada gerçekleşmiştir. Yeni açılan sayfadada bi sınamaya ihtiyaç duyar. Yani ziyaretçinin izni yeniden kontrol edilmelidir. Bunun için ziyaretçinin kullandığı şifre bu sayfaya bir şekilde aktarılmalıdır. Çerezler bu işlem için kullanılabilir, ancak bu güvenli bir yöntem değildir. Çünki çerezler sayfa kapatıldığı zaman silinmezler, sistemde muhafaza edilmeye devam edilir. Güvenlik sorunu nedeniyle çerezler bu işlem için ideal değildir. Onun için diğer alternatifleri değerlendirmemiz uygun olacaktır. Bir diğer alternatifimizde bu kullanıcı adı ve şifre bilgisini adres çubuğu vasıtası ile sayfadan sayfaya taşımaktır, ki bu işlemde güvenli sayılmaz, çünki ilgili şifre adres çubuğunda bil fiil görünür. Bununla birlikte sayfa içerisindeki kodlamayı daha karmaşık hale getirir.

Oturum Yönetimi Prosedürü Session’lar burada devreye girer. Sayfalar arasında veri akışını sağlar. İlgili kullanıcı adı ve şifre bir sayfadan diğer sayfaya taşınarak kullanıcının tekrar tekrar şifre girmesine gerek kalmaz. Bu oturum denetimi web penceresini kapatana kadar devam edecektir.

Kısaca özetlersek, Session’lar bize sayfalar arasında verilerin taşınmasına olanak sağlar. Bu veriler herzaman üyelik sayfalarındaki kullanıcı adı ve şifreler olmayabilir. Üyelik sistemleri Session’ların kullanıldığı en yaygın sistemlerdir.

Oturum Yönetimi ( Session ) Kullanımı.

Session olgusunu tanıdıktan sonra oturum denetimi prosedürünü kodlamaya başlayabiliriz. Session değerlerinin oluşturulması ve taşınması için kullanacağımız en temel fonksiyonlar aşağıdaki gibidir.

session_start();
session_register();

Oturum denetimi ile ilgili veri akışları ve bu akışların kodlanması yukarıdaki temel fonksiyonlar ile sağlanır. Şimdi örnek bir işlem yapalım ve bir değeri Session’a alalım.

<?
$deneme=”123″;
session_start();
session_register(deneme);
?>

Yukarıdaki işlem ile ziyaretçi ile sayfamız arasında bir oturum açtık ve oturum değeri olarak “123” verdik. Bu değer, sayfalar arasındaki geçişlerde diğer sayfalara da aktarılabilir hale gelmiştir artık. Bu değeri bir şifre olarak kabul eder isek ziyaretçi sayfadan sayfaya geçerken şifresini tekrar tekrar girmek zorunda kalmayacak, aynı zamanda sisteminde bir çerezde yüklememiş olacak.

Şimdi bu örneği niteliklendirelim. Kullanıcı şifresini girsin. Ziyaretçi Diğer sayfaya geçtiğinde kullanıcının şifresinin diğer sayfaya aktardığına pratik yaparak şahit olalım.

—- giris.php —–
<?
$deger=$sifre;
session_start();
session_register(deger);
?>

<a href=’icerik.php’>Tıklayalım</a>
?>
— icerik.php —-
<?
session_start();
session_register(“deger”);
echo $_SESSION[deger];
?>
Şimdi yukarıdaki işlemleri uygulayalım. İlk kodu giris.php olarak kaydedelim. İkinci koduda açıklamadaki şekilde icerik.php olarak kaydedelim. Şimdi Adres çubuğuna “giris.php?sifre=123” yazarak şifremizi sisteme girelim. Alttaki “Tıklayalım” linkine tıkladığımızda bizi icerik.php’ sayfasına yönlendirecektir. icerik.php açılınca bize giris.php’de girdiğimiz şifremizi gösterecek. Dikkat edelim ; biz şifremizi giris.php’ye girdik. giris.php bize bi oturum açarak şifremizi “deger” imiyle kaydetti ve diğer sayfa olan icerik.php’ye taşıdı.

Burada bir noktaya daha dikkat edelim. Oturum içerisinde akan verileri “$_SESSION” değişkeni ile alabiliriz. Bu değişkende sert parantezler içerisine yazacağımız oturum değeri [deger] bize oturumdaki veriyi iletecektir. Üyelik sayfalarında da bu yöntem kullanılarak sayfalar arasındaki geçişlerde şifremiz sayfadan sayfaya güvenli bi şekilde taşınır.

Biz yukarıdaki örneklerde oturum değerine tek bir değer yükledik ve sayfadan sayfaya taşıdık. Oturum yönetimi prosedürünü uygularken birden çok değeri kaydedebiliriz. Yukarıdaki örneği Kullanıcı Adı ve Şifre olarak iki ayrı değer ile kaydedelim.

—- giris.php —–
<?
$ver1=$kullaniciadi;
$ver2=”$sifre”;
session_start();
session_register(ver1);
session_register(ver2);
?>

<a href=’icerik.php’>Tıklayalım</a>

— icerik.php —-
<?
session_start();
session_register(“ver1”);
session_register(“ver2”);

if ($_SESSION[ver1] == “SEDAT” and $_SESSION[ver2]==”123″){
echo “Giriş Yapıldı..”;
}else{
echo “Giriş Başarısız”;
};
?>
Yukarıdaki örnektete ilkindeki gibi sayfalar arasında veri akışı gerçekleştirdik. giris.php’yi ?kullaniciadi=SEDAT&sifre=123″ şeklinde çalıştıracak olursak bize “Giriş Yapıldı..” sonucu çıkacaktır. Yaptığımız işlemleri sırası ile açıklayalım.

Giris.php’ye iki tampon değer atadık. $ver1 ve $ver2. Bu değerlere adres çubuğundan aldığımız $kullaniciadi ve $sifre değerlerini atadık. Session_start() diyerek oturum açtık ve önce ver1 değerini Oturuma kaydettik, sonra ver2 değerini. “Tıklayın” yazan link’e tıklayarak icerik.php’ye yönlendik. Burada yine session_start(); fonksiyonunu kullanarak oturum açtık, ve session_register(); fonksiyonları ile önce ver1 değerini aldık, sonra ver2 değerini. Son işlem olarak kullanıcı adını ve şifreyi bir IF deyimi ile sınadık..

Üyelik sistemlerinde kullanılan işlemin birebir aynısını gerçekleştirdik. Tek fark, Kullanıcı Adı ve Şifre’yi veritabanından sınamayarak direkt olarak girdik.

Reklamlar
Kategoriler:Dökümanlar Etiketler:, ,
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Yanıt Bırakın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: