Tengo una aplicación y necesito almacenar cierta información en cookies. Tengo una página de índice y pongo cierta información en la cookie (por ejemplo, algún nombre de variable). La cookie de la página de índice tiene ruta /Main/
. En otra página necesito leer esta cookie y si es necesario modificarla. Pero otra ruta de cookies de página es /Main/info/
. El navegador simplemente crea una nueva cookie, pero necesito anularla y usar la misma cookie con la ruta /Main/
en todas las páginas. ¿Cómo puedo hacer eso?
Respuestas
2 para la respuesta № 1Añadir ruta = /; o especifique una ruta cuando cree la cookie. Esto evitará que el navegador cree cookies duplicadas por dominio.
A uno de los comentarios, si miras a GoogleChrome y cómo muestra las cookies le mostrará la ruta. Si usa el mismo nombre de cookie sin especificar la ruta, se creará una cookie para cada uno.
Nota: Internet Explorer no hace lo mismo, tiene un solo archivo de texto por dominio.
0 para la respuesta № 2
La segunda página debe establecer explícitamente la ruta de la cookie en "/ Main".
document.cookie = "name=value; path=/Main/";
0 para la respuesta № 3
Deberías definir un camino para todos SET-COOKIE
comandos independientes de la ruta secundaria del recurso solicitado (p. ej. path=/Main
). En general, debe usar la ruta más larga posible ... (pero tendrá que tomar una ruta principal de todos los recursos usando la misma cookie).
Raíz (/
) debe usarse solo, si su aplicación posee el dominio completo y la cookie es necesaria para recursos con diferentes parches de nivel superior (p. ej. /main/...
, /secondary/...
y /unimportant/...
)
Por qué:
- Razones de seguridad
- Prevención de efectos secundarios con otras aplicaciones en el mismo dominio