Yazılım Yazarı Menu

Permalink:

Oturum Fonksiyonları; cookie (Çerezler)

Cookie (Çerezler) Nedir?

Çerezlerin sessionlardan farkını aslında daha önce session (Oturumlar) dersimizde azda olsa anlatmış oldum.

Session’lar sunucuya kaydedilir, çerezler ise kullanıcıların bilgisayarlarına. Oturum anahtarı her tarayıcıyı açtığımızda değişeceğinden dolayı oturumları akılda tutmak yani sürekli açık tutmak için çerezler geliştirilmiş. Günümüzde facebook, google gibi sitelerde kullanımını görebiliriz. Bu siteler beni hatırla adında bir checkbox koyarak kişiler isterse onların sistemine cookie atayıp, girişlerini bu cookielar üzerinden sürekli kılıyorlar. Siz internet geçmişinde çerezleri sildiğiniz anda tabiki oturum artık kapalı hâle gelmiş oluyor.

 

Cookie Nasıl Atanır?

setcookie(isim,deger,süre,patch,domain,güvenlik,httponly);
  • İsim (string)(zorunlu) : Cookie’nın ismini belirtir, cookie’yı daha sonra çağırırken bu isim kullanılır.
  • Değer (string,bool,integer)(zorunlu) : Cookie’nın değerini belirtir.
  • Süre (integer)(isteğe bağlı) : Cookie’nın ne kadar süre geçerli olacağını belirtir. Saniye türünden hesaplamaktadır. 1 saat 60 dakika olduğundan 60*60 = 3600 saniye 1 saat etmektedir. Buradan yola çıkılarak süreler verilebilir. 3600*24 1 gün, 3600*24*30 , 30 gün şeklinde hesaplamalar yapılabilir.
  • Patch (string)(isteğe bağlı) : Eğer cookieları özel bir dizinde (klasör) tutmak istiyorsanız bu dizinin yolu belirtilir.
  • Domain (string)(isteğe bağlı) : Cookie’nın hangi siteye (domaine) ait olduğunu belirtmek için kullanılır. siteadi.com şeklinde atanabileceği gibi alt domainlerinizdede yani video.siteadi.com, haber.siteadi.com gibi kullanmak isterseniz .siteadi.com yapmanız yeterli olacaktır.
  • Güvenlik  (boolean)(isteğe bağlı) : Çerezin sadece güvenli bağlantı yapıldığındamı atanacağını belirtir. Güvenli bağlantıdan kasıt https (ssl) protokolüdür.Varsayılan olarak false durumdadır ve eğer sunucunuzda ssl sertifikası yoksa değiştirilmemelidir.
  • httponly (boolean)(isteğe bağlı) : Çerezin yalnızca http üzerinden alınmasını sağlar, böylece javascript gibi diller ile çerezlere erişilmez kılınır ve XSS saldırılarına karşıda bir önlem alınmış olur. TRUE olması tavsiye edilir.

 

<?php
setcookie("denemecookie","YazilimYazari");
?>

1 saat geçerli olması için;
<?php
setcookie("denemecookie","YazilimYazari",time()+3600*60);
?>

Atanan Cookie’yı Kullanmak

Atanan bir cookie değerini çağırıp, kullanmak için $_COOKIE kullanırız.

<?php
setcookie("denemecookie","YazilimYazari");
echo $_COOKIE["denemecookie"];
?>

Daha Önce Atanan Cookie’yı Tekrar Atamama

Daha önce bir cookie atadıysak o sayfada o cookie’nın bir kez atanmasını isteyebiliriz, çünkü; süreli cookie ise eğer biz bunun önceden atanıp atanmadığını kontrol etmezsek her sayfaya girişte cookie yeniden atanacaktır ve süre koyma olayı yalan olacaktır :)

<?php
if(!$_COOKIE["denemecookie"]){ //denemecookie adında bir cookie yoksa
setcookie("denemecookie","YazilimYazari",time()+3600*60);
}
echo $_COOKIE["denemecookie"];
?>

İyi günler dilerim.
Yazılım Yazarı

(1049) kez okundu.

  • Yorum bırakıyor olduğunuz için teşekkürler.