HTTPOnly bayrağı ayarlandığında , farklı Tarayıcılar farklı güvenlik önlemlerini etkinleştirir . Örneğin Opera ve Safari, javascript'in çereze yazmasını engellemez. Ancak, tüm büyük tarayıcıların en son sürümlerinde okumak her zaman yasaktır.
Ama daha önemlisi, neden bir HTTPOnly
çerez okumak istiyorsunuz ? Bir geliştiriciyseniz, bayrağı devre dışı bırakın ve kodunuzu xss için test ettiğinizden emin olun. Mümkünse bu bayrağı devre dışı bırakmaktan kaçınmanızı tavsiye ederim. HTTPOnly
Bayrak ve "güvenli bayrak" her zaman set olmalıdır (çerez zorlar üzerinden https gönderilmek üzere).
Eğer bir saldırgansanız , o zaman bir oturumu ele geçirmek istersiniz . Ancak HTTPOnly
bayrağa rağmen bir oturumu ele geçirmenin kolay bir yolu var . Oturum kimliğini bilmeden oturuma devam edebilirsiniz. MySpace Samy solucanı tam da bunu yaptı. Bir CSRF belirtecini okumak ve ardından yetkili bir görevi gerçekleştirmek için bir XHR kullandı . Bu nedenle, saldırgan, oturum açan kullanıcının yapabileceği neredeyse her şeyi yapabilir.
İnsanlar HTTPOnly
bayrağa çok fazla güveniyorlar , XSS yine de sömürülebilir. Hassas özelliklerin etrafına engeller koymalısınız. Dosyalanan şifre değişikliği gibi mevcut şifreyi gerektirmelidir. Bir yöneticinin yeni bir hesap oluşturma yeteneği , bir XHR ile kolayca atlanamayan bir CSRF önleme tekniği olan bir captcha gerektirmelidir .