Hakan GÜZEL

Çerezlere Giriş (HTTP Cookies)

Çerezler nedir?

Çerezler, genellikle bilgisayarınızın tarayıcı dizininde veya program veri alt klasörlerinde depolanan kimlik etiketleri verilen küçük metin dosyalarıdır. Çerezler, veri bitlerini belirli bir kullanıcıyla ilişkilendirir.

Çerezler esas olarak üç amaç için kullanılır:

Oturum yönetimi

Girişler, alışveriş sepetleri, oyun skorları veya sunucunun hatırlaması gereken diğer şeyler.

Kişiselleştirme

Kullanıcı tercihleri, temalar ve diğer ayarlar.

Örneğin, bir kullanıcının dil ve tercih edilen tema gibi tercihleri ​​gelecekteki oturumlar için kaydedilebilir.

Takip

Kullanıcı davranışını kaydetme ve analiz etme.

Bir kullanıcı bir alışveriş web sitesini ziyaret ettiğinde ve bir öğeyi aradığında, öğe tarayıcı geçmişine kaydedilir. Çerezler, göz atma geçmişini okuyabilir, öyle benzer ki kullanıcıya bir sonraki ziyaretlerinde gösterilir.

Çerez Türleri

Oturum çerezleri

‘Geçici çerezler’ olarak da bilinen oturum çerezleri, web sitelerinin kullanıcıları ve bir web sitesinde gezinirken sağlanan bilgileri tanımasına yardımcı olur. Oturum tanımlama bilgileri, yalnızca web sitesinde oldukları sürece bir kullanıcının etkinlikleri hakkındaki bilgileri saklar. Web tarayıcısı kapatıldıktan sonra çerezler silinir.

Kalıcı çerezler

Kalıcı tanımlama bilgileri, ‘kalıcı tanımlama bilgileri’ olarak da bilinir. Web tarayıcısı kapandıktan sonra bile çalışır durumda kalırlar. Örneğin, oturum açma ayrıntılarını ve parolaları hatırlayabilirler, böylece web kullanıcılarının bir siteyi her kullandıklarında yeniden girmelerine gerek kalmaz.

Üçüncü taraf tanımlama bilgileri

Üçüncü şahıs tanımlama bilgileri, örneğin davranış, demografi veya harcama alışkanlıkları hakkında araştırma yapmak için web kullanıcılarından belirli bilgileri toplamak amacıyla üçüncü şahıslar tarafından yüklenir. Ürün ve hizmetlerin doğru hedef kitleye pazarlanmasını sağlamak isteyen reklamverenler tarafından yaygın olarak kullanılırlar.

Flash tanımlama bilgileri

Flash tanımlama bilgileri, ‘süper tanımlama bilgileri’ olarak da bilinir. Web tarayıcısından bağımsızdırlar. Bir kullanıcının bilgisayarında kalıcı olarak depolanacak şekilde tasarlanmıştır. Bu tür çerezler, tüm çerezler web tarayıcısından silindikten sonra bile kullanıcının cihazında kalır.

Zombi kurabiyeleri

Zombi çerezleri, bir kullanıcı onları sildikten sonra otomatik olarak yeniden oluşturulan bir tür flash çerezdir. Bu, tespit edilmelerinin veya yönetilmelerinin zor olduğu anlamına gelir. Genellikle çevrimiçi oyunlarda kullanıcıların hile yapmasını önlemek için kullanılırlar, ancak aynı zamanda bir kullanıcının cihazına kötü amaçlı yazılım yüklemek için de kullanılmıştır.

Güvenli Çerezler

Yalnızca HTTPS web siteleri güvenli tanımlama bilgileri, yani şifrelenmiş veriler içeren tanımlama bilgileri ayarlayabilir. Çoğunlukla, e-ticaret web sitelerinin ödeme veya ödeme sayfalarında, işlemleri daha güvenli hale getirmek için güvenli çerezler bulunur. Benzer şekilde, çevrimiçi bankacılık web sitelerinin de güvenlik nedenleriyle güvenli tanımlama bilgileri kullanması gerekir.

Vanilla JavaScript ile Çerez Oluşturma

JavaScript, document.cookie özelliğiyle tanımlama bilgileri oluşturabilir, okuyabilir ve silebilir.

JavaScript ile aşağıdaki gibi bir çerez oluşturulabilir:

document.cookie = "name=Linda Ojo";

Ayrıca bir son kullanma tarihi de ekleyebilirsiniz (UTC saatinde). Varsayılan olarak, tarayıcı kapatıldığında çerez silinir:

document.cookie = "name=Linda Ojo; expires=Wed, 1 Oct 2022 12:00:00 UTC";

Bir yol parametresiyle, tarayıcıya çerezin hangi yola ait olduğunu söyleyebilirsiniz. Varsayılan olarak, çerez mevcut sayfaya aittir.

document.cookie = "name=Linda Ojo; expires=Wed, 1 Oct 2022 12:00:00 UTC; path=/";

JavaScript Çerez Paketi ile Çerezlerin Kullanımı

JavaScript Cookie, çerezleri işlemek için basit ve hafif bir JavaScript API’sidir. Tüm tarayıcılarda çalışır, herhangi bir karakteri kabul eder, yoğun şekilde test edilir ve bağımlılık gerektirmez.

Kurulum

Js-çerezlerini yüklemek için kök klasörünüzde aşağıdaki komutu çalıştırın.

npm install js-cookie --save

Çerez Öznitelikleri

Expire: Çerezin ne zaman kaldırılacağını tanımlayın. Değer, oluşturulduktan sonraki günler veya bir Tarih örneği olarak yorumlanacak bir Sayı olabilir.
Path: Çerezin görünür olduğu yolu belirten bir Dize.
Domain: Çerezin görünmesi gereken geçerli bir etki alanını belirten bir dize. Çerez ayrıca tüm alt alan adlarına da görünür olacaktır.
Secure: Doğru veya yanlış, tanımlama bilgisi aktarımının güvenli bir protokol (https) gerektirip gerektirmediğini belirtir.

Çerez oluşturma

Aşağıda gösterildiği gibi adı ve değeri sağlayarak tüm web sitesinde geçerli olan bir çerez oluşturabiliriz.

import Cookies from 'js-cookie';

Cookies.set('name', 'value');

Cookie.set Yöntemde üçüncü argüman olarak sona ermeden önceki gün sayısını içeren bir nesneyi ileterek bir çerezin süresinin dolmasının ne kadar süreceğini belirleyebiliriz. Aşağıda oluşturulan çerezin süresi 7 gün sonra dolar. Varsayılan olarak, kullanıcı tarayıcıyı kapattığında bir çerez kaldırılır.

import Cookies from 'js-cookie';

Cookies.set('name', 'value', { expires: 7 });

Ardından, yalnızca mevcut sayfanın yolu için geçerli olan güvenli bir süresi dolan çerez oluşturabiliriz. Yol, son kullanma tarihini içeren önceki Nesneye eklenir.

Cookies.set('name', 'value', { expires: 7, path: '', secure: true });

Çerezi okuma

Çerez oluşturmanın amacı, onları daha sonra kullanabilmemizdir. Bu Cookie.get yöntemi kullanarak zaten mevcut olan çerezlere erişebiliriz . ‘theme’ adında gerçek bir çerez oluşturalım ve okuyalım.

import Cookies from 'js-cookie';

Cookies.set('theme', 'dark');
Cookies.get('theme') // => 'dark'

Bir çerezi değerini geçersiz kılarak da güncelleyebilirsiniz.

Cookies.set('theme', 'light');

Artık tema çerezinin bir ‘light’ değeri vardır.

Cookies.get aşağıda gösterildiği gibi herhangi bir argüman girmeden, metod çağırarak mevcut tüm çerezleri bir kerede alabiliriz.

Cookies.get(); // => { theme: 'light' }

Çerezi silin

Cookie.remove yöntemi ile global olarak erişilebilen cookies bilgilerini silebilirsiniz.

Cookies.remove('theme');

Not: Bir çerezi silerken ve varsayılan özniteliklere güvenmiyorsanız, çerezi ayarlamak için kullanılan yol ve etki alanı özniteliklerinin tam olarak aynılarını iletmelisiniz.
Örnek olarak mevcut sayfanın yolu için geçerli bir çerez ayarlayalım ve silelim.

Cookies.set('direction', 'north', { path: '' });
Cookies.remove('direction'); // fail!
Cookies.remove('direction', { path: '' }); // removed!

Kaynaklar:

Linda Ojo – Introduction to HTTP Cookies

Cookies.org – All About Cookies.org

Exit mobile version