read - leer cookie javascript
¿Por qué document.cookie no muestra todas las cookies del sitio? (1)
Voy a un foro que usa vBulletin 3.8. Cuando inicio sesión, uso firebug para ver qué cookies se establecieron. Veo estas cookies:
__utmb, __utmc, __utma, __utmz, bbsessionhash, vbseo_loggedin, bbpassword, bbuserid, bblastactivity, bblastvisit
Todos tenían un conjunto de valores, y el dominio era idéntico.
Pero cuando uso JavaScript para verlos, solo vi estas cookies:
__utmb, __utmc, __utma, __utmz, vbseo_loggedin, bblastactivity, bblastvisit
En Firebug, solo veo estas tres cookies: bbsessionhash, bbpasword y bbuserid, que en realidad fueron configuradas. HTTPOnly en la columna HTTPOnly. ¿Qué significa y es la razón por la que no puedo ver esas cookies en JavaScript usando document.cookie
?
De http://en.wikipedia.org/wiki/HTTP_cookie :
Las cookies no se pueden ver directamente en los programas del lado del cliente, como JavaScript, si se han enviado con el indicador HttpOnly. Desde el punto de vista del servidor, la única diferencia con respecto al caso normal es que a la línea de cabecera set-cookie se agrega un nuevo campo que contiene la cadena `HttpOnly '':
Set-Cookie: RMID=732423sdfs73242; expires=Fri, 31-Dec-2010 23:59:59 GMT; path=/; domain=.example.net; HttpOnly
Cuando el navegador recibe dicha cookie, se supone que debe usarla de la forma habitual en los siguientes intercambios HTTP, pero no para hacerla visible en los scripts del lado del cliente.
El indicadorHttpOnly
no forma parte de ningún estándar y no está implementado en todos los navegadores.
Actualización de 2017: pasó mucho tiempo desde 2009, y el HttpOnly
encabezado HttpOnly
se convirtió en un estándar, definido en la sección 5.2.6 de RFC6265 , con la semántica de almacenamiento descrita en el mismo documento (busque "http-only-flag" "a lo largo del texto de RFC).
No hay forma de acceder a nada sobre las cookies HttpOnly
las HttpOnly
"no HTTP", por ejemplo, JavaScript. Por diseño, ni leer ni escribir tales cookies es posible.