Mi URL del documento actual es http: //127.0.0.1/foo y tengo que cambiar el valor de una cookie para http: //127.0.0.1/bar. document.cookie está vacío porque la URL del documento es foo. Por el momento, solo quiero leer el valor de la cookie. ¿Alguna pista?Recuperar una cookie de un camino diferente
Respuesta
Al crear la cookie, si establece la ruta a '/' en lugar de 'foo', podrá leerla en cualquier parte del dominio, incluyendo '/ foo', '/ bar', etc.
No puede acceder a las cookies desde una ruta diferente; de lo contrario, sería un problema de seguridad.
La única manera que se me ocurre es hacer /bar
establece una cookie cuya path=/
de manera que todas las páginas en /
(incluyendo /foo
) puedan acceder a él.
Como JJ y grawity han mencionado que no hay manera que usted puede hacer esto desde su página. Sin embargo, tienes un trabajo alrededor.
i. Coloque un iframe que apunte a http://localhost/bar. Tenga un elemento oculto en la página "barra" donde almacena el valor de la cookie. (Permita que este iframe tenga un tamaño de 1 * 1 para que no sea visible).
ii. Use JavaScript en la página "foo" para recuperar el valor de la cookie.
Un enfoque similar (con modificaciones) se puede utilizar para escribir el valor de la cookie también!
Gracias,
Ramjee.
¿Esto no le permitiría a nadie en Internet tomar la galleta? – Antimony
Puede crear un apuntando a un recurso dentro de /bar
, y cross-frame-script en él. por ejemplo:
<iframe src="/bar/blank.html" id="barframe"></iframe>
var barframe= document.getElementByIf('barframe');
var bardocument= 'contentDocument' in barframe? barframe.contentDocument : barframe.contentWindow.document; // IE compat
alert(bardocument.cookie);
Cookies path=
es una medida de conveniencia para evitar conflictos de nombres de galletas accidentales. Dado que las diferentes rutas comparten un origen de JavaScript, no es un mecanismo de seguridad efectivo.
+1 para señalar que las rutas de cookies no son un muro de seguridad significativo. – Antimony
La ruta es una característica de rendimiento, no de seguridad ... Me faltaba la parte "barframe.contentDocument". Muchas gracias. +1 de mi parte –
- 1. Recuperar camino de tmpfile()
- 2. extensión de galletas jQuery establecerá una cookie con un camino, pero no lo leerá
- 3. Django SQLite prueba rareza: ¿diferente camino de ejecución?
- 4. ¿Cómo enviar una cookie en un URLConnection?
- 5. ¿Es posible leer una cookie de un subdominio diferente? ¿Si es así, cómo?
- 6. Problema de tendido del camino/camino
- 7. ¿Por qué la cookie jQuery no configura una cookie?
- 8. ¿Cómo almacenar un objeto en una cookie?
- 9. ¿Qué es un "camino canónico"?
- 10. ¿Una cookie sin dominio?
- 11. Recuperar una contraseña
- 12. DirectoryInfo y un camino FileInfo
- 13. Symfony2: configuración de una cookie
- 14. ¿Cómo eliminar una cookie?
- 15. Cómo recuperar un subconjunto de una enumeración
- 16. Cómo "reenviar" una cookie a otra página
- 17. Cookie en un dominio de intranet
- 18. Recuperar un número diferente de filas para cada categoría desde la tabla de SQL Server
- 19. Almacenamiento de una cookie cifrada con Rails
- 20. Cómo configurar una cookie en un dominio separado en Rails
- 21. ¿Es posible establecer más de una cookie con un único Set-Cookie?
- 22. ¿Es posible obtener la ruta de una cookie almacenada?
- 23. xmlhttprequest y set-cookie & cookie
- 24. Animar un camino de sombra CALayer
- 25. mejor camino para recuperar los resultados solo registro en LINQ a SQL
- 26. Modificación de Valor de una cookie en un HttpHandler
- 27. Tiempo de caducidad predeterminado para una cookie en Rails
- 28. ¿Es posible reproducir un camino hacia atrás en una CAKeyFrameAnimation?
- 29. Crea una cookie para NSURLRequest?
- 30. Delphi XE: Perdido camino Biblioteca
por cierto este enlace puede ser útil: http://www.quirksmode.org/js/cookies.html –
No puedo cambiar la creación y la ruta de la cookie. ¿Significa que es imposible acceder a cookie of bar desde foo? –
No es un gran problema de seguridad porque la cookie no está realmente protegida de todos modos. Debido a SOP ignorando rutas, las rutas de cookies no son una barrera de seguridad significativa. – Antimony