2012-05-27 12 views
5

$ .cookie no está leyendo las cookies que han sido establecidas previamente por la respuesta del servidor.

Puedo leer las cookies que se han configurado con $ .cookie().

Veo todas las cookies de dominio establecidas con el complemento de desarrollador web de Firefox.
Además, el lado del servidor puede ver las cookies de solicitud, por lo que el navegador definitivamente las tiene.

He experimentado con tiempos de caducidad sin resultado.

+0

¿Qué sucede si compara las cookies a fondo? Si se comportan de manera diferente, hay alguna diferencia – zerkms

Respuesta

6

El problema es que el lado del servidor es el envío de las galletas con el HttpOnly ajuste según lo descrito aquí: http://en.wikipedia.org/w/index.php?title=HTTP_cookie#HttpOnly_cookie

cookies enviadas esta manera no son accesibles a través de document.cookie. Esto generalmente se usa para ayudar a proteger el valor de la cookie contra posibles ataques XSS en su sitio.

Editar: Usted no mencionó qué tecnología está utilizando en el lado del servidor para configurar las cookies. En caso de que esté usando PHP, este enlace se enumeran las posibles maneras la bandera HttpOnly se podría establecer:

https://www.owasp.org/index.php/HttpOnly#Using_PHP_to_set_HttpOnly

1

ACTUALIZACIÓN: Me equivoqué en mi respuesta original (véase más adelante) ... Páginas más abajo en la el árbol de ruta puede leer cookies de nivel superior, por lo que las rutas no tienen que coincidir exactamente. Dejando mi respuesta original en caso de que alguien más cometa el mismo error. MI problema fue causado por la configuración de una cookie de JavaScript, y luego intento modificar el lado del servidor de cookies. Cookie de destino del servidor con la ruta "/", por lo que la cookie con la ruta "/ mypages" no se modificó.

$ .cookie sólo puede leer las cookies en virtud de la ruta del documento actual, por lo que si su página es> mysite.com/mypages/mypage.aspx, el servidor se establece la ruta como "/" al establecer una cookie, > pero $ .cookie intentará leer desde la ruta "/ mypages" y no podrá leer la cookie. Me acabo de correr> en este problema yo mismo. Si no tiene caminos diferentes como este, entonces es probable que este no sea su problema.

Cuestiones relacionadas