Imposta un cookie su HttpOnly tramite Javascript


90

Ho un cookie che NON è HttpOnlypossibile impostare questo cookie HttpOnlytramite JavaScript?


1
Come sarebbe possibile impostare un cookie tramite JavaScript che JavaScript stesso non dovrebbe essere in grado di manipolare? Basta impostarlo sul lato server.
BalusC

1
Il cookie NON è HttpOnly e voglio impostarlo su HttpOnly tramite Javascript.

6
Penso che ti manchi il punto di HttpOnly.
BalusC

Ottima domanda. Non c'è davvero alcun aspetto negativo nell'impostare un cookie HttpOnly dal client per quanto riguarda la sicurezza. Quindi penseresti che sarebbe permesso. Ma ovviamente non lo è.
PHP Guru

Risposte:


178

Un HttpOnlycookie significa che non è disponibile per linguaggi di scripting come JavaScript. Quindi in JavaScript, non c'è assolutamente alcuna API disponibile per ottenere / impostare l' HttpOnlyattributo del cookie, poiché altrimenti annullerebbe il significato di HttpOnly.

Basta impostarlo come tale sul lato server utilizzando qualsiasi lingua lato server utilizzata dal lato server. Se JavaScript è assolutamente necessario per questo, potresti prendere in considerazione di lasciare che invii una richiesta (ajax) con ad esempio un parametro di richiesta specifico che attiva il linguaggio lato server per creare un cookie HttpOnly. Tuttavia, ciò renderebbe ancora più semplice per gli hacker modificare HttpOnlysolo XSS e avere ancora accesso al cookie tramite JS, rendendo così HttpOnlycompletamente inutile il cookie sul tuo.


4
Mi chiedo come possa un'app lato client come l'estensione del browser "EditThisCookie" cambiare il flag HttpOnly in false.
pavanw3b

1
@ PavanW3b: Non utilizza un linguaggio di scripting lato client come JavaScript per questo. È solo un'estensione del browser.
BalusC

10
Le estensioni del browser @BalusC sono scritte in JS e sono state sviluppatore.chrome.com/extensions da tempo "Le scrivi usando tecnologie web come HTML, JavaScript e CSS." developer.mozilla.org/en-US/Add-ons/WebExtensions/… "Sono scritti utilizzando tecnologie Web standard - JavaScript, HTML e CSS - oltre ad alcune API JavaScript dedicate." Ed esempio di uno open source scritto nel 2013 github.com/Asana/Chrome-Extension-Example
Justin Hamade

56
Non vedo davvero come essere in grado di impostare HttpOnly da JS "sconfigge il significato di HttpOnly", a patto che il cookie sia ancora illeggibile dallo script ...
ciao

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.