Bir çerezi Javascript aracılığıyla HttpOnly olarak ayarlayın


90

OLMAYAN bir çerezim var HttpOnlyBu çerezi HttpOnlyJavaScript aracılığıyla ayarlayabilir miyim ?


1
JavaScript'in kendisinin değiştiremeyeceği bir tanımlama bilgisini JavaScript ile ayarlamak nasıl mümkün olabilir? Sadece sunucu tarafında ayarlayın.
BalusC

1
Tanımlama bilgisi HttpOnly DEĞİLDİR ve Javascript aracılığıyla HttpOnly olarak ayarlamak istiyorum.

6
HttpOnly'nin amacını kaçırdığınızı düşünüyorum.
BalusC

Harika soru. Güvenlik söz konusu olduğunda istemciden bir HttpOnly tanımlama bilgisi ayarlamanın gerçekten herhangi bir dezavantajı yoktur. Yani buna izin verileceğini düşünürsünüz. Ama elbette değil.
PHP Guru

Yanıtlar:


178

Bir HttpOnlybu kadar çerez aracı değil JavaScript gibi script dilleri için kullanılabilir. Dolayısıyla, JavaScript'te, HttpOnlyçerezin özniteliğini almak / ayarlamak için kesinlikle hiçbir API yoktur , aksi takdirde anlamını ortadan kaldırır HttpOnly.

Sunucu tarafının kullandığı sunucu tarafı dilini kullanarak bunu sunucu tarafında olduğu gibi ayarlayın. JavaScript bunun için kesinlikle gerekliyse, bir HttpOnly tanımlama bilgisi oluşturmak için sunucu tarafı dilini tetikleyen belirli bir istek parametresi ile bazı (ajax) istekleri göndermesine izin vermeyi düşünebilirsiniz. Ancak, bu, bilgisayar korsanlarının HttpOnlyyalnızca XSS ile değiştirmesini ve yine de JS aracılığıyla çereze erişmesini kolaylaştırır ve böylece HttpOnlyçerezinizi tamamen işe yaramaz hale getirir .


4
"EditThisCookie" tarayıcı uzantısı gibi bir istemci tarafı uygulamanın HttpOnly bayrağını false olarak nasıl değiştirebileceğini merak ediyorum.
pavanw3b

1
@ PavanW3b: Bunun için JavaScript gibi bir istemci tarafı kodlama dili kullanmıyor. Bu sadece bir tarayıcı uzantısı.
BalusC

10
@BalusC Tarayıcı uzantıları JS'de yazılmıştır ve bir süredir developer.chrome.com/extensions "Bunları HTML, JavaScript ve CSS gibi web teknolojilerini kullanarak yazarsınız." developer.mozilla.org/en-US/Add-ons/WebExtensions/… "Standart Web teknolojileri - JavaScript, HTML ve CSS - artı bazı özel JavaScript API'leri kullanılarak yazılmıştır." Ve 2013'te yazılmış bir açık kaynak kod örneği github.com/Asana/Chrome-Extension-Example
Justin Hamade

56
HttpOnlyTanımlama bilgisi hala senaryodan okunamadığı sürece HttpOnly'yi JS'den ayarlamanın "anlamını bozacağını" gerçekten anlamıyorum ...
hallo

4
MDN yasak olduğunu söylüyor. developer.mozilla.org/en-US/docs/Web/HTTP/…
mpoisot
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.