Asp.Net Mvc Cookie Kullanımı

İbrahim     4 Nisan 2017     1454     1    
Bu makalede cookie(çerez) nedir, Cookie kullanımını, cookie sınırlamaları, cookie yazma, okuma ve silme, cookie 'lerde güvenlik gibi konuları inceleyeceğiz.

Cookie Nedir?

Cookie'ler (çerezler), web uygulamalarında kullanıcıların özel bilgilerini depolamak için  bilgisayarımıza kaydettiği küçük metin dosyalarıdır.
- Cookie'ler, belirli bir sayfayla değil, bir web sitesi ile ilişkilendirilir.
- Kullanıcı farklı siteleri ziyaret ederken, her site aynı zamanda kullanıcının tarayıcısına bir çerez gönderebilir.

Cookie Nerelerde ve Neden kullanılır?

Cookie'ler, kullanıcı kimlik doğrulama ve tanımlama, bilgilerin bir sayfadan başka bir sayfaya taşınması için, bilgileri client tarafında tutmak için kullanılır.
Ayrıca anket oluşturmuş bir site düşünelim.Burada bir kullanıcının oylama yapıp yapmadığını belirlememizde çerezler yardımcı olur.Böylece bir kullanıcı birden fazla oy kullanamaz.

Cookie Sınırlamaları

- Çoğu tarayıcı en fazla 4096 bayt bilgi taşıyabilir.
- Çoğu tarayıcı, site başına yalnızca 20 çerez oluşturmaya izin verir.Daha fazla çerez oluşturmaya çalışıldığında ise en eski çerezleri siler.
- Kullanıcılar tarayıcılarından çerezlerini engelleyebilir yada tarayıcısında bulunan çerezleri silebilir.

Cookie'lerde Güvenlik

Hassas verileri, kullanıcı adları, şifreler, kredi kartı numaraları ve benzeri gibi çerezlere asla saklamamalısınız. Bir kullanıcının veya bir şekilde çerezini çalabilecek birinin elinde olmayan bir çereze herhangi bir şey koymayın.

Cookie Yazma

Bir cookie oluşturulurken bir isim ve değer belirtilir ve her çerezin ismi farklı olması gerekmektedir.Aksi takdirde iki çerezin ismi aynı ise çerezlerden biri diğerinin üstüne yazılır.
- Bir çerezin tarihini ve zaman süresini ayarlayabiliriz.Ayrıca son kullanım tarihi belirtilmediğinde oluşan çerezler, tarayıcı kapatıldığında silinir.

Örnek

Response.Cookies ["Ad"] .Value = "Ali" ; 
Response.Cookies ["Ad"] .Expires = DateTime.Now.AddDays(1);

Örnek 2

HttpCookie cerez = new HttpCookie("cookieİsmi");
cerez.Values.Add("Ad", "Ali");
cerez.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(cerez);

Her iki örnekte aynı görevi üstlenir.Sadece ikinci çerez de, ilk olarak bir nesne örneği oluşturulur, özellikleri ayarlanır ve sonra eklenir.

Cookie Okuma

Tarayıcı sunucuya istekte bulunduğunda, çerezleri o sunucuya gönderir.Çerez değerlerini almak için ise aşağıdaki kodlar kullanılır.

Örnek

var cerez = "";
if(Request.Cookies["kullaniciAd"] != null)
    cerez = Server.HtmlEncode(Request.Cookies["kullaniciAd"].Value);

yada

var cerez = "";
if(Request.Cookies["kullaniciAd"] != null)
{
    HttpCookie cookie = Request.Cookies["kullaniciAd"] 
    cerez = Server.HtmlEncode(cookie.Value);
}

Cookie Silme

Silme işlemi için 3 konuya dikkat etmek gerekir.
1) Öncelikle çerezin var olup olmadığını test etmek gerekir
2) Sayfayı tekrar yüklemek gerekir
3) Çerezi silmek için .Expires özelliği kullanılmalıdır.

if (Request.Cookies["Musteri"] != null)
{
    Response.Cookies["Musteri"].Expires = DateTime.Now.AddDays(-1);
    return Redirect("yonlendirelecekSayfa");
}

Eğer yukarıdaki kodu kullanmak istemezseniz aşağıdaki kod da aynı işlevi görecektir.

if (Request.Cookies["Musteri"] != null)
{
    HttpCookie musteriCookie = Request.Cookies["Musteri"];
    musteriCookies.Expires = DateTime.Now.AddDays(-1);
    Response.Cookies.Add(musteriCookie);
    return Redirect("yonlendirelecekSayfa");
}

 


Etiketler:  
cookie-nedir
cerez-nedir
cerez-kullanimi
aspnet-mvc


Paylaş:  

Bir Cevap Yazın

Ö

ömer 31 Mayıs 2018
Merhaba hocam mvc routing işlemleri için; Makale/aspnet-mvc-cookie-kullanimi (makale başlığı nasıl çağırabiliriz.) Yardımcı olursanız sevinirim. cs.sonmez@gmail.com