İpucu

Çerezler Nasil Çalisir?

Istemci sunucudan istekte bulundugunda sunucu istemciye çerezleri gönderir. Gönderilen ayni çerez alt istekler içinde kullanilabilir. Birbirinden farkli siteler ve browserlar çerezleri farkli sekillerde depolarlar. Bir sayfa çerezlerdeki bir bilgiye ihtiyaç duydugunda ilk olarak local sistemde arama yapar ve buldugu çerezi sunucuya gönderir.

Avantajlari

· Kullanimi çok kolaydir.
· Verilerin gönderimi isi browser tarafindan yapilir.
· Çoklu çerezler kullanildigi zaman browser otomatik olarak siralama yapar.

Dezavantajlari

· Veriler düz metin dosyalarinda saklandigi için güvenli degillerdir.
· Çerezlerde saklayabilecegimiz veriler için boyut sinirlamasi vardir. Bu sinir 4096 byte (4KB dir).
· Kullanilabilecek çerez sayisi sinirlidir. Çogu browser çerez sayisini 20 ile sinirlandirir, bazilarinda ise bu rakam 300 ‘ çikar.
· Browser ayarlarini yapmamiz gerekir. Yüksek güvenlik seviyesinde çalismazlar.

Çerez nasil olusturulur?

HttpCookie cerez = new HttpCookie("KullaniciBilgileri");
cerez["KullaniciAdi"] = "msabrikunt";
cerez["Sifre"] = "123456";
Response.Cookies.Add(cerez);

Yukarida olusturdugumuz çerez browser kapatilana kadar istemci bilgisayarinda saklanir. Bu tür çerezlere Non Persistent Çerez(Geçici çerez) denir.

Çerezlerden Bilgi Okuma

Daha önce kaydettigimiz çerezdeki bilgileri okuyalim. Her zaman çerezin sistemde olup olmadigini kontrol etmenizi tavsiye ederim. Akdi takdirde browserin çerezlere izin vermedigi durumlarda veya çerezin silinmesi durumunda sayfaniz hataya düser.

HttpCookie cerez = Request.Cookies["KullaniciBilgileri"];
string kullaniciAdi,sifre;
if (cerez != null)
{
kullaniciAdi = cerez["KullaniciAdi"];
sifre = cerez["Sifre"];
}
Persistent ve Non Persistent Çerezler

Çerezleri iki kategoriye ayirabiliriz.

· Persistent Çerezler ( Saklanan)
· Non Persistent Çerezler (Saklanmayan, Geçici)

Persistent Çerezler

Bu tür çerezler istemcinin hard diskinde son geçerlilik tarihine kadar saklanirlar. Bu tür çerezlerde bir geçerlilik tarihi olmalidir. Bazen kullanici silene kadar istemcide saklanirlar.

Non Persistent Çerezler

Bu tür çerezlere geçici çerezlerde denir. Eger çerez tanimlamasinda bir geçerlilik süresi yoksa bu çerezler istemci browserinin hafizasinda saklanirlar. Yukarida vermis oldugumuz örnek geçici bir çerez örnegiydi.

Iki tür çerezi olusturma ve kullanma asamalarinda herhangi bir farklilik yoktur. Aralarindaki tek fark persistent türü çerezlerde geçerlilik süresinin verilmis olmasidir.

Persistent Çerez Tanimlama

Yukarda geçici bir çerezin nasil tanimlanacaginin örnegini vermistik, simdi ise istemci hard diskinde saklanan persistent türü bir çerez örnegi yapalim.

HttpCookie cerez = new HttpCookie("KullaniciBilgileri");
cerez["KullaniciAdi"] = "msabrikunt";
cerez["Sifre"] = "123456";
cerez["Gecerlilik"] = "5 Gün";
cerez.Expires = DateTime.Now.AddDays(5);
Response.Cookies.Add(cerez);