PHP

PHP’de Çerez (Cookie) – 10

Türkçesi çerez olarak bilinen cookie, ziyaret edilen siteler tarafından tarayıcılar (browser : internet explorer, google chrome, mozilla firefox, safar, vb.) üzerinde ömrü bitene kadar tekrar tekrar kullanılmak üzere bıraktığı izlerdir.

Mesela, Facebook sitesine giriş yaparken mail ve şifre alanının hemen altında yer alan “Oturumumu sürekli açık tut” kutucuğu bir cookie -çerez-işlemini gerçekleştirmektedir. Bu kutucuğu işaretleyerek Facebook hesabınıza giriş yaparsanız, tarayıcınızı kapatıp açsanız bile –cookie’nin ömrü bitmediği veya siz tarayıcınızın çerez geçmişini temizlemediğiniz sürece– bir sonra ki girişlerinizde mail ve şifre girmeden otomatik olarak giriş yaptığınızı göreceksiniz. İşte bu ve buna benzer işlemleri gerçekleştirmenin adıdır cookie.

Cookie’yi Nasıl Oluşturulur?

PHP’de cookie oluşturmak için setcookie() fonksiyonu kullanıyoruz. setcookie() fonksiyonunu daha önce araştırdıysanız internet sitelerinde 3 parametre aldığı bilgisini görmüşsünüzdür. Bunun nedeni 3 parametreli kullanımın genelde bizlere yetmesidir. Ama gerçek olan 3 değil 6 parametredir.

Sözdizimi

setcookie(name, value, expire, path, domain, secure)
setcookie(çerez adı, çerez değeri, çerez ömrü , çerez yolu, domain, güvenli)

name -çerez adı- : Çerez adını belirtir. Bu parametreyi kullanmak zorunludur.

value -çerez değeri- : Çerezin değerini belirtir. Bu parametreyi kullanmak zorunludur.

expire -çerez ömrü- : Çerezin ömrünü belirtir. Bu parametreyi isteğe bağlı olarak kullanabilirsiniz. Örneğin; time()+3600*24*30 ifadesi 30 günü ifade etmektedir. Bu parametreyi boş bırakırsanız varsayılan olarak tarayıcı kapandığında çerezin ömrüde sona erer.

path -çerez yolu- : Çerezin etki alanını belirtir. Bu parametreyi isteğe bağlı olarak kullanabilirsiniz.

domain -alan adı- : Çerezin etki alan adını belirtir. Bu parametreyi isteğe bağlı olarak kullanabilirsiniz. Boş bırakırsanız varsayılan olarak adres çubuğundaki alan adına göre çalışır.

secure -güvenli- : Çerezin sadece güvenli bir bağlantı (HTTPS) üzerinden aktarılması gerektiğini belirtmek için kullanılır. Parametre alanına ‘true’ veya ‘false’ değerleri yazılarak kullanılır. Varsayılan değer olan ‘false’ kullanıldığında güvenli bağlantı aramaz. ‘True’ olarak belirtildiği takdirde, çerez sadece güvenli bağlantı mevcutsa çalışır.

Cookie Oluşturma

Cookie Silme

Oluşturduğunuz bir çerezi silmek için cookie oluşturur gibi 3 parametreli olarak setcookie() fonksiyonunu kullanacağız. Burada silme işlemi için yapmamız gereken çerez ömrünü geçmişe dair bir
değer vermektir.

Cookie Kullanımı

Oluşturduğumuz, tanımladığımız çerezler global $_COOKIE dizisi olarak saklanmaktadır. Yukarıda oluşturduğumuz selamver adlı çerezi aşağıdaki gibi kullanabilirsiniz.

Bir çerezi bir değişkene atayarak kullanmak isteyebilirsiniz. Bu tür durumda da aşağıdaki örnekteki gibi kullanabilirsiniz.

Cookie Değerini Değiştirmek

Oluşturduğunuz bir çerezin değerini değiştirmek istediğinizde aynı isimle yeni bir çerez oluşturup değerini farklı biçimde tanımladığınızda cookie değerini değiştirmiş olursunuz.

Cookie’nin Varlığını Kontrol Etmek

Bir çerezin varlığını kontrol etmek için isset fonksiyonunu kullanıyoruz. Eğer çerez var ise 1 olarak yok ise ‘false’ olarak bir değer geriye döner.

Kocaeli Üniversitesi Teknik Eğitim Fakültesi’nden Bilgisayar Öğretmenliği mezunu olan Fatih Çal, bilişim sektöründe 10 seneyi aşkın tecrübeye sahiptir. Başta web projeleri olmak üzere çeşitli projelerde ve kurumlarda çalışmıştır. Şuan Uluslararası Genç Derneği’nde Başkan Yardımcısı, Uluslararası Bilişim Teknolojileri Derneği’nde Yönetim Kurulu Üyesi ve İstanbul Medeniyet Üniversitesi Bilgi İşlem Daire Başkanlığında Sistem Yönetimi ve Yazılım Koordinatörü olarak görev almaktadır.