2009-02-23 20 views
46

diciamo che ho un sito web con dominio: www.example.compercorso del biscotto e la sua accessibilità alle pagine sottocartella

Se ho impostato un cookie con il percorso '/' il cookie sarà accessibile via tutto pagine del dominio, ad esempio:

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

Che cosa succede se abbiamo impostato il cookie al percorso '/sottocartella1', sarà il cookie viene messo a disposizione di qualsiasi pagina o una sottocartella sotto la cartella? Ad esempio:

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

Quindi, se non, credo, non ho altra scelta che utilizzare percorso '/' per quei biscotti, destra?

risposta

50

Se impostiamo il cookie percorso '/ sottocartella1', sarà il cookie viene messo a disposizione di qualsiasi pagina o una sottocartella sotto la cartella?

Sì. Il cookie sarà disponibile per tutte le pagine e sottodirectory.

+22

Vedere http://stackoverflow.com/questions/8014024/set-cookie-wildcard-path per le specifiche pertinenti. Per coloro che non lo sapevano, i cookie sono accessibili solo per il percorso specificato e per ogni sottotracciato, nessun superpath. Quindi i cookie per il percorso "/ folder/subfolder1 /" non sono accessibili a "/ folder /". Ho sbattuto la testa su questo per un po '. –

+0

@SampleJACK ahi, questo spiega il mio problema abbastanza bene! – RonLugge

+0

@Alex, quindi come si ottiene un cookie per '/ subfolder1' ma ** not **'/subfolder1/inner-folder'? – Pacerier

11

se abbiamo impostato il cookie percorso /subfolder1, le seguenti pagine nell'esempio sono accessibili:

www.example.com/subfolder1/page1.html
www.example.com/subfolder1/moresubfolder1 /page1.html
ecc

Tuttavia, la pagina www.example.com/page1.html non sarà accessibile in quanto non appartiene al percorso consentito.

3

Per rimuovere una certa ambiguità riutilizzando una parte dei this risposta:

Una richiesta-path percorso-corrisponde a un dato cookie-percorso se almeno una delle seguenti condizioni vale:

  • Il percorso del cookie e il percorso della richiesta sono identici.
  • Il percorso del cookie è un prefisso del percorso della richiesta e l'ultimo carattere del percorso del cookie è% x2F ("/").
  • Il percorso del cookie è un prefisso del percorso della richiesta e il primo carattere del percorso della richiesta non incluso nel percorso del cookie
    è un carattere% x2F ("/").

C'è un leggero (ma potenzialmente importante) differenza tra l'impostazione di un cookie sul percorso /subfolder1 e il percorso /subfolder1/.

Se ci si basa sul primo, il percorso della richiesta deve iniziare con un "% x2F ("/") carattere" (una barra diretta) per garantire il comportamento desiderato. Per un esempio, dai un'occhiata alla risposta collegata.

Impostare il percorso del cookie su / semplicemente evita i casi limite, ma come dici tu - il cookie sarebbe accessibile all'intero dominio.

+0

risposta più informativa – KGCybeX

Problemi correlati