/ PHP
  1. PHP
  2. Php $_COOKIE | Çerezler Nedir ?

Php $_COOKIE | Çerezler Nedir ?

PHP’de çerezler tarayıcı üzerinde saklanırlar. Çerezlerde veri saklamak istediğimiz zaman önemli bilgileri saklamamamız gerekir.

Önemli verilerimizi tarayıcı üzerinde saklamamamızın sebebi ise çerezler tarayıcı üzerinde depolandığı için değiştirilebilme ihtimali vardır. Güvenlik açısından önemli bilgilerin çerezlerin saklanması uygun değildir. Kullanıcı şifresini çerezlerde saklamamız gerekiyorsa düz şifreyi değil de md5 gibi daha güçlü şifreleme algoritmalarla şifreleyerek saklayabilir veya veritabanında bize ait olan ilgili satırın sadece ID değerini saklayabiliriz.

setcookie 6 parametre alır ilk 2 parametre zorunlu girilir diğer parametreler isteğe bağlı girebiliriz. İlk parametre cookie’mize vereceğimiz isimdir. İkinci parametre ise cookie’mizin aldığı değerdir. Üçüncü parametre cookie tarayıcıdan ne zaman silinecektir fakat silinecek tarihi saniye cinsinden ve şimdiki zaman + kaç saniye sonra silinecek şeklinde doldurmamız gerekiyor. Dördüncü parametre ise sitemizin hangi bölümünde çerez aktif olacak. Beşinci parametre ise çerezi yazdığımız bir alt alan adında kullanabiliriz. Altıncı parametre ise cookienin sadece https üzerinden mi aktarılacağını belirlememize olanak sağlar 1 ise true, 0 ise false’dir.

1
2
3
4
5
<?php

setcookie('cerezim','cerezimin degeri',time() + 9600);

?>

Yukarıdaki örnek de cerezim adında bir çerez oluşturdum ve silinme tarihini 9600 saniye sonra yani 3 saat olacak şekilde ayarladım.

Oluşturmuş olduğumuz çerezleri silmek çok basittir. setcookie fonksiyonunda ilk parametreye çerezimiz adını 2. parametreye istersek bir şeyler yazabiliriz istersek boş bırakabiliriz. Fakat silme işlemi yaptığımız için boş bırakmak daha mantıklı.3. Değerimizi ise 0 yaparak çerezin silinme tarihini 0 yapmış oluyoruz ve böylelikle çerezimiz siliniyor.

1
2
3
4
5
<?php

setcookie('cerezim','' ,0);

?>

Php setcookie - Çerezin değerini değiştirme

Oluşturduğumuz çerezlerin değerini değiştirmek çerez oluşturmak ile aynıdır tek farkı 3. parametre girmeyebiliriz.

1
2
3
4
5
<?php

setcookie('cerezim','yeni değer' );

?>

Çerezleri okuyabilmek için $_COOKIE global dizisine başvurmak zorundayız.$_COOKIE dizisinde tanımlamış olduğumuz bütün dizilere rahatlıkla ulaşabiliriz.

1
2
3
4
5
<?php

echo $_COOKIE['cerezim'];

?>

Yukarıdaki örnekte ekrana çerezim adlı çerezin değerini ekrana basacaktır.