Konunun Orjinalini Görmek İçin Buraya Tıklayınız: Php De Çerezler Ve Oturum Yönetimi

(1/1)

juba:
Çerezler ve Oturum Yönetimi ( Cotamame - Session )

1. Çerezler nedir, Nasıl Kullanılır.
2. Çerezlerin kullanımı.
3. PHP'de Oturum Yönetimi ( Session )
4. Oturum Yönetimi ( Session ) Kullanımı.


1. Çerezler nedir, Nasıl Kullanılır.

Çerez nedir. Çoğu yerde karşımıza çıkmıştır bu terim. Özellikle Anket formlarında ve üyelik sistemlerinde kullanılan bu terim hakkında üstünkörüde olsa bi bilgiye sahibiz. Önce Çerezleri ( Cotamames ) tam olarak tanıyalım, işlevlerini benimseyelim.

Çerezler, Web sayfasın ile bilgisayarımız arasındaki referansımızdır. Daha önce girdiğimiz bir web sayfasına girişlerimiz çerezler sayesinde otomize edilebilir. Yani daha sonra aynı sayfaya girmemiz halinde girdiğimiz sayfa bizi tanır, bize kimi referans bilgileri verir, sayfayı daha sonra ziyaret ettiğimizde bu referans bilgileri web sayfasına otomatik olarak iletilir.

Çerezler hangi sistemlerde kullanılır. Esas olarak çerezler iki sistemde kullanılır. Bunlardan biri Anket formları, diğeri ise üyelik sistemleridir. Anket formlarında oy kullanmamız halinde sistemimize bir çerez atılır, daha sonra bu forma tekrar oy kullanır isek geçersiz sayılır. Üyelik sistemlerindede çerezler bizi şu şekilde tanır. Sayfaya girişin bir kullanıcı adı ve şifre ile mümkün olduğunu varsayalım. Sayfaya üye olduktan sonra kullanıcı adımızı ve şifremizi gireriz. Daha sonra bu web sayfasına girmek istediğimizde sistemimize atılan çerez ile web sayfası arasında otomasyon kurulur, şifreyi tekrar girmemize gerek kalmaz. Aslında çerezler daha pek çok işlemde kullanılır. Anket formları ve Üyelik sistemleri en sık çerez kullanılan sistemler olduğu için bunları örnek verdik.

Peki çerezler nekadar güvenlidir ? Aslında hiç güvenli değildir. Bu çerezlerin içeriği şifrelenmez. Birebir işletim sistemimiz altındaki "Cotamames" klasörü altına atılır. Çerez dosyasının içeriğine bakmak istediğimiz zaman referans bilgileri karşımıza çıkacaktır. Haliyle Bu bilgiler bilgisayarımızın diğer kullanıcılarınada açıktır.

Çerezleri yeterince tanıdık. PHP çerez işlemleri için salt prosedürler işletir. Şimdi bu prosedürleri tanıyalım ve örnek işlemlerle öğrenmeye başlayalım.


2. Çerezlerin kullanımı.

Çerezler, yukarıda da bahsettiğimiz üzere web sayfası ile ziyaretçi arasındaki referans bilgisidir. PHP ile bu referans bilgisini ziyaretçinin sistemine nasıl işleteceğimizi görelim.

<?
setcotamame ( "referans1", "123", time()+3600 ) ;
?>

Yukarıdaki örnekte php sayfamızı çalıştıran ziyaretçinin sistemine bir çerez değeri girdik. Bu çerez değerleri "referans1" ve "123" değerlerini içerek iki adet referans bilgisi işletecektir. Çerezimizin yaşama süresinide time()+3600 değerini girerek 3600 saniye yani 1 Saat olarak belirledik.

Şimdi sisteme yüklenen bu çerez ile aynı ziyaretçiyi sayfaya birdahaki girişinde tanısın.

<?
if ( $HTTP_COtamamE_VARS['referans1']=="123") {
echo "referans değeriniz 123 dür"; ] else { echo "Çerez yüklü değil" };
?>

Şimdi yukarıdaki kodları çalıştırdığımızda sistemimizde çerez var ise bize "referans değeriniz 123 dür" yazacaktır. Eğer ilk örnekteki kodları çalıştırmasa idik "Çerez yüklü değil" metni ile karşılaşacaktık.

Şimdi birde şöyle bir örnek yapalım. Web sayfamıza giren kullanıcıların sayfaya daha önce kaç kere girdiğini sayalım ve kullanıcıya bunu rapor edelim.

<?
$tampon=$_REQUEST['giris'];
echo "$tampon<br>";
setcotamame ( "giris", "2", time()+3600 );
if ( $tampon > "0" ) {
echo "Sayfaya daha önce $tampon kere girdiniz.";
$tampon++;
setcotamame ( "giris", $tampon, time()+3600 );
} else {
echo "Sayfaya ilk girişiniz..";
setcotamame ("giris","1",time()+3600);
};
?>

Yukarıdaki komutlar sayfaya girişlerimizi sayacaktır. Sayfaya ilk girişimizde "Sayfaya ilk girişiniz.." ibaresi ile karşılaşacağız. Daha sonraki girişlerimizde sayfaya kaç kere girmiğimizi gösterecektir. Burada dikkat etmemiz gereken husus, "$_REQUEST" birimini kullandığımız. Herzaman $HTTP_COtamamE_VARS deyimini kullanmayabiliriz. Çerez değerini alırken $_REQUEST metodunuda kullanabiliriz.

Şimdi son bir örnek daha yapıp çerezlerin kodlanmasını tamamlayalım.

Şimdiki örnekte bir kullanıcı adı ve şifre sınayacağız.

<?
setcotamame ($kullanici,$sifre,time()+3600);
echo "Kayıt Yapıldı";
?>

Yukardaki kodları çalıştırıp sayfamızı "?kullanici=sedat&sifre=123" şeklinde çalıştıralım. "sedat" yazan yere kendi ismimizi, "123" yazan yerede herhangi bir numara yazabiliriz. Bu bilgilerin üye giriş sayfalarındaki girişlerden biri olduğunu varsayalım. Sistemimize bir çerez atılacak ve bu çerez bizi sayfaya birdahaki girişimzed bizi tanımasını sağlıycaz.

<?
if ( $_REQUEST[$kullanici]==$sifre ) { echo "Şifreli Alandasınız"; } else {
echo "Şifreyi yanlış girdiniz.."; }
?>

Şimdi yukarıdaki kodları "?kullanici=sedat&sifre=123" şeklinde çalıştıralım. İlk çerezde girdiğimiz değerlerle son girdiğimiz değer aynı ise bizi şifreli alana atayacaktır.

Özellikle üyelik sayfalarında kullanılan çerezler, bu tarz sistemlerde de yukarıdaki şekilde çalışır. Hemen her üyelik sisteminde bizi daha sonraki girişlerde tanısınmı seçeneği vardır. Bu işareti seçer isek ilgili sistem, bizim çerez sürelemizi maksimum uzunlukta tutar. Sayfaya girişimizde çerezdeki Kullanıcı adı ve Şifre bilgisini veritabanıyla karşılaştırır, uyuşuyor ise bizi şifreli alana atar. Eğer çerezimizi siler isek bu sınamayı yapmayacak, bize kullanıcı adı ve şifremizi girmemizi isteyecektir. Veritabanı ile ilgili uygulama konu dışında olduğu için konu ile ilgili dökümanı okuyarak örnek uygulamalar geliştirebilirsiniz.


3. 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.

dj_sfenks:
tesekkürler

memoli_mfyd:
Tesekkurler Guzelmiste biraz fazla ornek olsa daha iyi olabilirdi :)

Navigasyon

[0] Mesajlar