Neler yeni

Cooikes Nedir? Detaylı Anlatım (1 Viewer)

N0rvecli

Grup soydan, akıl egodan üstündür.
majorrr
Mesajlar
947
Credits
60
Internet üzerinde, özellikle de web sayfaları üzerinde gezinirken kullanılan ufak kayıt dosyalarına verilen isimdir. Basitçe bir web sitesi internet üzerinden yayın yaparken bazen bağlanan kullanıcılar hakkında bilgi tutma ihtiyacı duyar. Genelde bu bilgiyi tutmanın iki yolu vardır. Birincisi sunucu üzerindeki bir veri tabanı veya farklı bir veri saklama yapısı içinde tutulması. Diğeri ise istemci (client) üzerinde saklamak.


Bu yazının konusu istemci (client) üzerinde veri saklama teknolojilerinden çerez ismi verilen (cookie) dosyaları anlatmaktır.


Literatürde, çerezler HTTP protokolü üzerinden taşındıkları için HTTP çerezleri (http cookie) olarak da geçmektedirler.



Çerezlerin internet gezgininde ayarlanması



Çerezlerin detayına ve programlamasına geçmeden önce çerezleri kullanıcıların kendi bilgisayarlarında nasıl ayarlayabileceklerini açıklayalım (ekran görüntüleri ve menü yerleri Firefox 3 sürümünden alınmıştır) . Örneğin firefox internet gezginindeki çerez ayarları aşağıdaki şekilde yapılabilir:





Öncelikle ayarların yapılacağı ekrana Araçlar > Seçenekler tıklanarak girilebilir:





Yukarıda görüldüğü şekilde açılan seçenekler diyaloğunda Gizlilik sekmesi altında Çerezler bölümü bulunmaktadır. Bu bölümde istenirse sitelerin çerez bırakmasına izin verilebilir veya bu izin kaldırılabilir.


Temel olarak kullanıcıların böyle bir izni verme veya kaldırma hakkı bulunmaktadır çünkü sonuçta site tarafından kullanıcının bilgisayarına bir dosya kaydedilecektir. Yazının ilerleyen kısımlarında da anlatılacağı üzere bu izin kötü amaçla kullanılabilmekte ve kullanıcılar için tehdit oluşturabilmektedir. Dolayısıyla kullanıcı dilerse bu seçeneği kapatabilir.


Bu temel özellik bütün internet gezginlerinde ortak olmakla beraber yukarıdaki resimde de görüldüğü üzere Firefox internet gezgininde ilave bazı özellikler bulunmaktadır. Bunlardan birincisi ayrıaclık tanıma özelliğidir. Kullanıcılar isterlerse site bazlı olarak özel ayar yapabilirler ve kuralı sadece belirli sitelere uygulayabilirler.


Çerezlerin bitiş tarihleri de bulunmaktadır. Yani bir çerez istenirse belirli bir süreliğine yollanabilir. Örneğin sitemize giren kişinin alışveriş sırasında sepetine eklediği eşyaların sadece 1 saat boyunca geçerli olmasını bundan sonra tekrar sitemize girerse sepetinin boşalmasını istiyor olalım. Bu durumda çerezi oluştururken bitiş tarihi olarak 1 saat ileri tarihi eklememiz yeterli olacaktır.


Internet gezginleri süresi dolan çerezleri saklamaz (veya saklamayabilir) yani bu tip süresi dolmuş çerezlerin silinip silinmemesi internet gezgininin insiyatifindedir ancak yine de süres dolan çerezlerin kullanılamayacağını bilmemiz yeterlidir.



Çerezlerin çalışması



Bir çerez, normal bir HTTP paketi ile kullanıcı tarafından talep edilir ve sunucu tarafından oluşturularak kullanıcıya yollanır.


HTTP protokolü üzerinden yapılan veri transferi request / response (talep / arz (istek cevap) ) şeklinde olmaktadır. Yani istemci (müşteri , client) bilgisayarı sunucu (server) bilgisayarından bir bilgiyi talep eder (request) ve sunucu bilgisayar bu bilgiye cevap olarak bir sonuç arz eder.


Bu iletişim şeklinde arz edilen (sunucudan döenen) bilgi içerisinde bir çerez bilgisi bulunabilir. Bu bilgiyi HTTP protokolü desteklemektedir:





Örneğin yukarıdaki şekilde adım adım bir HTTP protokolü üzerinden iletişim temsil edilmiştir. Önce istemci tarafı internet üzerinden bir HTTP paketi ile Bilgisayar Kavramları sitesinde bulunan index.html dosyasını talep etmektedir.


Ardından sunucu bu talebe yine bir HTTP paketi ile cevap vermektedir. Bu paketin içeriğine dikkat edilecek olursa cevap HTTP 1.1 sürümü ile yapıldığını göstermektedir. Ayrıca 200 OK mesajı dönülmüştür. Yani istenen sayfanın bulunduğu ve başarılı bir talep olduğu anlamında bir HTTP kodu ile talep cevaplanmıştır.


Burada HTTP paketinde bizim için önemli olan Set-Cookie bölümüdür. Bu bölümde bir çerez’in istemciye yollandığı ifade edilmektedir ve isim=değer ibaresiyle herhangi bir bilgi istemciye çerez olarak yüklenmiş olur.


Buradaki isim=değer bizim belirlediğimiz bir ismin değeridir. Örneğin : “Giriştarihi = 18072018 ” şeklinde bir bilgi olabilir.


Bu şekilde istemci tarafı bilgiyi talep ettikten ve içeriğinde çerez bulunan bir bilgi geldikten sonra bir önceki bölümde açıkladığımız üzere bu bilgi bilgisayarımızda bir dosya olarak saklanır.


Bundan sonraki talepler (farklı sayfa veya aynı sayfanın tekrar talep edilmesi gibi), bu çerez bilgisi de HTTP paketine ilave edilir.



Çerezler ve güvenlik



Yukarıda da açıklandığı üzere, çerezlerin siteler tarafından serbestçe erişilebilir olması bazı güvenlik sorunlarını da beraberinde getirmektedir. Aşağıda bu sorunlardan bazıları açıklanmıştır:


İz takibi:
Bu güvenlik zaafiyeti birden fazla siteye tek bir elde yerleştirilen çerezlerde olur. Örneğin reklam yayını yapan bir şirket, reklamını yayınladığı yerlerde aynı zamanda çerezini de yayınlayabilir. Bu tip çerezlere, üçüncü parti çerezler (third party cookies) ismi verilir. Bunun sebebi sitenin esas yayıncısı ve siteyi o anda ziyaret etmekte olan istemci (client) dışında üçüncü bir kişinin çerezi olmasıdır.


İşte bu üçüncü parti çerezler siteyi ziyaret eden kişinin bilgisayarına kaydedilir. Şayet reklam veren şirket isterse ziyaretçinin girdiği bütün sitelerin izini sürebilir. Yani reklamının yayınlandığı hangi sitelerin kullanıcı tarafından ziyaret edildiğini takip etmesi mümkündür.

Çerez kaçırılması (cookie hijacking):
Bilindiği üzere çerezlerin içerisinde site ve kullanıcı ile ilgili çeşitli gizli bilgiler tutulmaktadır. Saldırgan bir taraf sunucu ve istemci arasında gidip gelen bu çerezleri takip ederek veya istemcinin bilgisayarında saklanan çerez dosyalarına erişerek çeşitli bilgileri ele geçirebilir. Bu noktada sunucu üzerinden çerez programlayan tarafın oldukça hassas davranması ve kişisel bilgileri, şifre kullanıcı detayı gibi bilgileri çerez üzerinde tutmaması gerekir. Elbette internet gibi bir ortamda bu hassasiyet herkesten beklenemez bu da çerezlerin güvenlik açısından oluşturduğu bir problemdir. Diğer bir çözüm ise çerezlerin içindeki bilgilerin şifreli (encrypted) tutulmasıdır. Elbette bütün şifreler bir gün kırılabilir ancak bu vakit alacaktır ve daha organize bir saldırı gerektirecektir.


Çerez zehirlemesi (cookie poisoning):
Çerez zehirlemesindeki amaç, istemci taraftan sunucuya giden bilgilerin amaçlı olarak değiştirilmesidir. Örneğin bir alışveriş sitesinde, müşterilerin sepet bilgileri çerezde tutuluyor olsun. Ve büyük bir hata olarak müşterilerin sepetlerindeki eşyaların toplam fiyatı ve dolayısıyla müşterinin ödeyeceği fiyatın da çerezde tutulduğunu düşünelim. Kötü niyetli birisi bu değeri çerez üzerine elle müdahale ederek değiştirebilir ve aslında ödemesi gereken değerden çok daha ucuza sepetindeki eşyaları satın alabilir. Bu tip saldırılara çerez zehirlemesi ismi verilir.


Oturum saldırısı (session hijacking): Çerezlerin sıkça kullanıldığı yerlerden birisi de oturum bilgilerinin saklanmasıdır. Örneğin kullanıcının en son eriştiği sayfa, kullanıcının site üzerindeki ayarları veya kullanıcıya ait sitede tutulan bilgiler çerezlerde tutularak kullanıcının sonraki bağlantılarında sitede kaldığı yerden devam etmesi amaçlanır. Bu durum bir güvenlik zaafiyeti doğurur. Örneğin saldırgan bir kişi bu bilgileri kullanarak aslında hiç olmayan bir kullanıcı ile sitede erişme izni olmayan sayfalara sanki en son bu sayfada kalmış gibi erişebilir. Veya sahip olmadığı yetkiye çerez üzerinde değişiklikler yaparak erişmeye çalışabilir. Bu saldırının tek mantıklı çözümü ise web siteleri daha dikkatli programlamak ve programcıların bu tip saldırılara karşı dikkatli olmasıdır.



Cookies Çerezler Nerelerde kullanılır?


  • Üyelik gerektiren sitelerde;
Üyelik gerektiren sitelerde bize kullanım kolaylığı sağlarken zararlarıda vardır.
  • E-ticaret sitelerinde;
Cookieler e-ticaret sitelerinde yarım bıraktığı sepetinizini hatırlaması içinde kullanılır.
  • Reklam gösterimlerinde;
Cookieler ayrıca bize ilgi alanlarımıza göre reklam gösterilmesi sağlayan araçlardandır. Gün içerisinde hangi sitelere giriyoruz, girdiğimiz sitelerde nelere tıklıyoruz, e-ticaret sitelerinden neler bakıyoruz hepsi çerez olarak kaydedilir. Kaydedilen bu çerezler ilgi alanlarımıza göre bize reklam gösterilmesini sağlar.





Cookies Türleri Nelerdir?


  1. Session Cookies
  2. Persistent Cookies
  3. Secure Cookies
  4. Http Only Cookies
  5. Third-party Cookies
  6. Super Cookies
  7. Zombie Cookies
 

Bu konuyu görüntüleyen kullanıcılar