2009-02-23 10 views
46

Digamos que tengo un sitio web con dominio: www.example.comruta de cookies y su accesibilidad a las páginas de subcarpeta

Si fijo una cookie con la ruta '/' la cookie será accesible a través de todo páginas en el dominio, por ejemplo:

  • www.example.com/page1.html
  • www.example.com/subfolder1/page1.html
  • www.example.com/subfolder1/moresubfolder1/page1 .h tml, etc.

¿Y si establecemos la cookie de ruta '/subcarpeta1', se pondrá a disposición de la cookie a cualquier página o subcarpeta debajo de la carpeta? Por ejemplo:

  • www.example.com/subfolder1/moresubfolder/page1.html

lo tanto, si no, supongo, no tengo más remedio que utilizar la ruta '/' para esas galletas, ¿derecho?

Respuesta

50

Si establecemos la cookie a la ruta '/ subcarpeta1', se pondrá a disposición de la cookie a cualquier página o subcarpeta debajo de la carpeta?

Sí. La cookie será estará disponible para todas las páginas y subdirectorios.

+22

Consulte http://stackoverflow.com/questions/8014024/set-cookie-wildcard-path para obtener la especificación pertinente. Para aquellos que no lo sabían, las cookies solo son accesibles a la ruta especificada y a cualquier subpaso, no a los superpaquetes. Por lo tanto, las cookies para la ruta "/ carpeta/subcarpeta1 /" no son accesibles para "/ carpeta /". Me golpeé la cabeza con este por un momento. –

+0

@SampleJACK ouch, eso explica MI problema bastante bien! – RonLugge

+0

@Alex, entonces, ¿cómo obtenemos una cookie que es para '/ subfolder1' pero ** no **'/subfolder1/inner-folder'? – Pacerier

11

si establecemos la cookie a la ruta de /subfolder1, las siguientes páginas en el ejemplo son accesibles:

www.example.com/subfolder1/page1.html
www.example.com/subfolder1/moresubfolder1 /pagina1.html
etc.

sin embargo, la página www.example.com/page1.html no será accesible, ya que no pertenece a la ruta de acceso permitido.

3

Para eliminar cierta ambigüedad mediante la reutilización de una parte de this respuesta:

A petición-path path-coincide con una cookie-ruta dada si al menos uno de los siguientes condiciones sostiene:

  • La cookie-path y request-path son idénticas.
  • La cookie-path es un prefijo de la ruta de solicitud, y el último carácter de la cookie-path es% x2F ("/").
  • La cookie-path es un prefijo de la ruta de solicitud, y el primer carácter de la ruta de solicitud que no está incluido en la cookie-
    es un carácter% x2F ("/").

Hay una ligera (pero potencialmente importante) diferencia entre establecer una cookie en el camino y el camino /subfolder1/subfolder1/.

Si confía en el primero, su ruta de solicitud debe comenzar con un "% x2F ("/") carácter" (una barra inclinada) para garantizar el comportamiento deseado. Por ejemplo, eche un vistazo a la respuesta vinculada.

Al configurar la ruta de cookies simplemente / se evitan los casos extremos, pero como dices, la cookie sería accesible para todo el dominio.

+0

respuesta más informada – KGCybeX

Cuestiones relacionadas