Asp.Net Mvc Cookie Kullanımı




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");
}
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