Websayfalarımızda ziyaretçilerin dolaşması için genel erişimli sayfalarda, sayfaya erişme için kullanıcı kısıtlaması yapmayız,bu bize sayfalarımızın herkese açık olduğunu ve içeriğinin açık kaynak olduğunu gösterir.Ama ya bizim belirttiğimiz sayfalara başkalarının ulaşmamasını istersek,ne yapmalıyız derseniz.Basit derim.session yada cookie kullanmak.Ben bu makalede sizlere sessionla korumalı sayfalar yapımını anlatmak istiyorum.Şimdi işin özünü kavramak gerekirse; sessionlar sayfalarda ki değişkenleri oturum başlatarak başka sayfalara taşımayı sağlarlar,yani asıl kök gelinmesi gereken yeri baz alarak kök yerden başka geçişin olmayacağını anlatan sisteme session yani oturum yönetimi denir.

Peki o halde kök başlangıç nedir onu biraz açıklayalım isterseniz.Aslında bu tanım benim tabirim,yani sessionlar,hangi formdan başlatılıyorlarsa orayı baz alarak oturum yönetirler.Mesela üye girişleri genelde session (veyahutta cookie) ile oturum yönetimi başlatılarak üyeyi girişe alırlar.Şimdi olayı fazla vehamete bürümeden.kodlama üzerinde göstermeye çalışalım.Şimdi aşağıdaki kodumuz.koruma.php olarak çalışacaktır

PHP:
  1. <?php
  2.  
  3. //her boş login için formun gelmesini sağlıyoruz
  4.  
  5. if(empty($_POST['login']) ) {
  6.  
  7. ?>
  8.  
  9. kullanici_adiniz
  10.  
  11. sifreniz:
  12.  
  13. <?php
  14.  
  15. }else{
  16.  
  17. //oturum başlarken mutlaka session_start komutunu kullanmalıyız
  18.  
  19.  
  20. //formdan gelen post verilerini sessionlara kaydediyoruz
  21.  
  22. $_SESSION['kullanici_adi']=$_POST['kullanici_adi'];
  23.  
  24. $_SESSION['sifre']=$_POST['sifre'];
  25.  
  26. if(($_POST['kullanici_adi']=="xxx") and ($_POST['sifre']=="123") ) {
  27.  
  28. echo 'oturumunuz baslatildi sayin '.$_SESSION['kullanici_adi'].'
  29. sifreli sayfaya gecis yapmak icin tiklayin';
  30.  
  31. }
  32.  
  33. else {
  34.  
  35. echo 'hatali giris,kullanici adiniz ve sifreniz yanlis';
  36.  
  37. }
  38.  
  39. }
  40.  
  41. ?>

Şimdi ise sessionların taşınacağı şifreli sayfamızı yapalım.sifreli.php dosyamızda mutlaka burada başlattığımız gibi session_start(); komutuyla başlamalıdır.cunku dedigimiz gibi sessionların taşınması bu komut sayesinde gerçekleştirilmektedir.Şimdi sifreli.php dosyamızın kodlarını yazmaya başlayalım.

PHP:
  1. <?php
  2.  
  3. //oturumu başlatıyoruz
  4.  
  5.  
  6. //gelen bilgileri bu sayfaya taşıyoruz.eğer bilgi taşınmazsa,mutlaka giriş yapılmamıştır.
  7.  
  8. if($_SESSION['kullanici_adi']) {
  9.  
  10. echo 'hosgeldiniz sifreli sayfaya '.$_SESSION['kullanici_adi'].'
  11. guvenli cikis yapmak icin tiklayin';
  12.  
  13. }
  14.  
  15. else {
  16.  
  17. echo 'illegal giris yaptiniz,lutfen giris yapin';
  18.  
  19. }
  20.  
  21. ?>

Şimdide sessionlarımızı silmek için cikis.php dosyamizi yazalım.zira eğer cikis yapmaz isek,bilgisayarımızda oturum acık bırakılmıs olacaktır ve sifreli sayfalarınıza sizin istemediginiz kisiler cok rahatlıkla girebilirler.gerci sessionlar ayar dosyanızda belirli bir vakitten sonra kendiliginden siliniyor ancak.yine de siz mutlaka her sifreli sayfa dolasımlarından sonra guvenlik çıkışı yapmalısınız.Şimdi cikis.php dosyamız şu şekilde

PHP:
  1. <?php
  2.  
  3.  
  4. if(($_SESSION['kullanici_adi']) and ($_SESSION['sifre'])) {
  5.  
  6.  
  7. }
  8.  
  9. echo 'tum sessionlar silinmistir';
  10.  
  11. ?>

işin mantığı bu şekilde oluşmakta arkadaşlar,şimdi tüm sessionları sildirdikten sonra sifreli.php dosyasına giriş yapın bakalım session bilgisini okutturabilecek misiniz.illegal giris yaptiniz diyecektir.Aslına bakarsanız bu sessionlar sizin sunucunuzun temp klasorunde olusturulmaktadır.Bir uye girisi yapın isterseniz tekrar ve sunucunuzun temp klasorune bakın bakalım.orada session dosyası başlatılacaktır.sifreli sayafaya gidip sessionları sildirdiginizde ise; bu temp klasorunde bulunan sessionda silinecektir.İşin özü.gizli bir yerde oturum başlatıp bu oturum bilgilerini okutturarak sayfalarımıza sifreli koruma getirmiş bulunmaktayız.

Favorilerinize Ekleyin.
  • BlinkList
  • del.icio.us
  • Digg
  • Netvouz
  • DZone
  • ThisNext
  • MisterWong
  • Wists
  • blogmarks
  • Blue Dot
  • Furl
  • Netscape
  • NewsVine
  • Reddit
  • Shadows
  • Technorati
  • YahooMyWeb
  • Fark
  • feedmelinks
  • Fleck
  • kick.ie
  • LinkaGoGo
  • Linkter
  • MyShare
  • Spurl
  • Webride