Bilgisayar dünyasının ne kadar geliştiğinin hepimiz farkındayız. Siteler bize her geçen gün bir sürü yenilikler sunmaktadır. Örnek olarak bir siteye kullanıcı giriş yapmadan girdiğinizde ve site dinamik bir site ise kullanıcı menülerin yerlerini değiştirdiğinizde, siteye daha sonra giriş yaptığınızda sitenin şeklinin sizin en son bıraktığınız gibi kaldığını görürseniz işte orada Cookie kullanılmıştır.
Cookielerin bir çok kullanım alanı vardır. Örneğin şifremi hatırla mekanizması cookie ile çalışmaktadır. Cookie ile bir çok veriyi kişinin bilgisayarında tutabilirsiniz. Tabi bir çok dediysek bununda bir sınırı var. Cookie dosyalarının boyutu 4kb ile sınırlıdır. Cookielere yazma işlemi bildiğimiz metin dosyasına veri yazma işlemi gibidir. Yani anlayacağınız cookie dosyaları bildiğimiz metin dosyalarıdır. Bu yüzden şifreleri cookielere kaydetmek biraz risk içerir. Benim size tavsiyem şifrelerinizi cookie e koyacaksanız eğer önce bir kriptolama işleminden geçirmeniz olacaktır. Aksi taktirde bilgisayara giren bir yabancı kolaylıkla bu verilere ulaşabilir.
2 tip cookie vardır, bir kalıcı cookie diğeri ise geçici cookie dir. Kalıcı Cookie e bir yaşam zamanı verilir.
İsterseniz öncelikle bir adet Cookie tanımlayalım.
Kod:
HttpCookie myCookie = Request.Cookies["newCookie"]; //cookie nin ismi
Şimdi bu Cookie ya 2 tane kullanıcı adı ve şifre adı altında nesne tanımlayalım. Bu kullanıcı adı ve şifreyi textboxlardan okuyalım.
Kod:
myCookie["userName"]=userNameTextBox.Text ;
myCookie["password"]=passwordTextBox.Text ;
Şimdi Cookie mizin kalıcımı geçici mi olduğuna karar vermemiz gerekmektedir. Eğer Cookie mize yaşam zamanı verirsek cookie miz ozaman boyunca yaşayacaktır. Aksi taktir de sonlanacaktır
Kod:
myCookie.Expires = DateTime.Now.AddDays(2);
Şuan Cookie mize 2 günlük bir ömür verdik. 2 gün sonra Cookie miz işlevini yiterecektir.
Cookie mizi sayfamıza eklememiz için son bir işlemimiz kaldı
Kod:
Response.Cookies.Add(myCookie);
Cookie miz sayfamıza eklendi. Eğer cookienizin nerede olduğunu merak ediyorsanız ve benin gibi Google chrome kullanıyorsanız cookieniz
C:\Users\username\AppData\Local\Google\Chrome\User Data
Adresinde bulabilirsiniz.
Şimdi sıra oluşturduğunuz cookie ye erişime geldi.
Yeni bir sayfa açın ve 2 tane label koyun. Bu labellara cookielerdeki değerleri yazdıralım.
Kod:
HttpCookie readCookie = Request.Cookies["newCookie"];
if (readCookie != null)
{
userNameLabel.Text = readCookie["userName"];
passwordLabel.Text = readCookie["password"];
}
Öncelikle Cookienin varlığını kontrol ettik ve daha sonra cookiedeki mevcut değerleri label a atadık.
Böylece Cookiemizi kullanmış olduk. Ama yukarıda da bahsettiğim gibi bu tarz şifre işlemlerinin kriptosuz bir şekilde Cookiede tutmak son derece sakıncalıdır. O yüzden size tavsiyem MD5 Hash Algoritması veya Rijndael tarzı algoritmalar kullanılmasıdır.
Cookie kullanırken sunu unutmayalım. Cookielere çok güvenmemek gerekmektedir. Çünkü kullanıcı Cookieleri temizledimi sizin Cookienizde gidecektir. Yüksek güvenlik ayarları yapılmış olan tarayıcılar sizin cookienizi almayacaktır.
Cookielerin farklı kullanım alanı olarak, login olmamış ya da olmamış kullanıcı profili kaydetme, şifre kaydetme, basit oyun işlemleri, skor kaydı gibi veri ile ilgili olan birçok işlem gerçekleştirebilirsiniz.