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.