JavaScript ile çerez oluşturma ve okuma

Yükleniyor

javascript ile cookie oluşturma ve okuma

Çerezler, kullanıcı bilgisini okumak için oldukça iyi bir yol. Bu yazıda bir çerez kullanıcının bilgisayarına nasıl bırakılır ve bu çerez gerektiğinde nasıl okunur, örneklerle anlatmaya çalışacağım.

Çerez Oluşturma

Bir çerez oluşturmak oldukça kolay bir iştir. Çerez oluşturmak için kullanılan JavaScript fonksiyonu, en basit jkullanımıyla şu şekildedir:

document.cookie="username=MhtArs";

Bu şekilde bir kullanımda, kullanıcının bilgisayarına bir çerez bırakılır. Eğer daha önce benzer bir çerez bıraktıysanız, bu çerezin yerini yenisi alır.

Ayrıntılı Çerez Oluşturma

Daha ayrıntılı çerezler oluşturmak için aşağıdaki fonksiyonu kullanabilirsiniz.

function setCookie(cisim, cdeger, gunler) {
    var d = new Date();
    d.setTime(d.getTime() + (gunler*24*60*60*1000));
    var bitis = "expires="+d.toUTCString();
    document.cookie = cisim + "=" + cdeger + "; " + bitis;
}
// Örnek kullanım:
setCookie("benimcerezim", "siteyegirdi", "1");

Bu kodla oluşturulan çerezin özellikleri şu şekildedir:
çerez örneği
Tavsiye: Web geliştiriciyseniz, Firebug‘ı kesinlikle kullanmalısınız. Yukarıdaki ekran görüntüsü Firebug’ın Çerezler sayfasından çekilmiştir.

Çerezlerin günlük değil, saatlik olarak kendilerini fesh etmelerini istiyorsanız, fonksiyondaki:

d.setTime(d.getTime() + (gunler*24*60*60*1000));

satırını

d.setTime(d.getTime() + (gunler*60*60*1000));

ile değiştirmeniz yeterli olacaktır.

Çerez Okuma

Bir çerezi okumak için JavaScript’teki en basit yol şöyledir:

var x = document.cookie;

Ancak bu şekilde, muhtemelen 10’larca çerezi de (Google Analytics’in, Facebook beğen kutunuzun vb. oluşturduğu çerezler dahil) x adlı değişkene atamış olacağımızdan işimiz zorlaşacaktır. Daha önce kendimizin eklediği bir çerezi okumak için şöyle bir şey kullanabiliriz:

function getCookie(cisim) {
    var isim = cisim + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i].trim();
        if (c.indexOf(isim) == 0) return c.substring(isim.length,c.length);
    }
    return "";
}
getCookie("benimcerezim");

Bu kod ile “benimcerezim” adındaki çerezin kullanıcıda kayıtlı olup olmadığını kontrol ettik. Daha önce 1 gün süreyle aktif olacak ve 1 gün süre bittiğinde kendini imha edecek çerezimizin adı da “benimcerezim”di. Yani böylelikle kullanıcının son 24 saat içinde sitemize girip girmediğini çerezler sayesinde öğrenmiş olduk.

Kapanış

Çerezler alışverişten kullanıcı arayüzünü şekillendirmeye pek çok amaç için kullanılabilir. Örneğin Facebook’ta alşveriş siteleri reklam verirken, sitelerinin kullanıcıya bıraktığı çerezleri okuyarak tam isabet reklamlar gösterebiliyor. Dün bir sitedeki bir ayakkabıyı inceleyip yarın Facebook reklamı olarak görüyorsanız bunun müsebbibi çerezlerdir.

Çerezler konusuna ilgi duyduysanız Siteye İlk Kez Girişi Tespit Etme adlı makalemi de okumanızı öneririm. Bu makalede de çerezlerin nimetlerinden yararlanılmıştır.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir