Domanda

Esiste un modo per impostare un cookie non leggibile sui sottodomini? In altre parole, avere i cookie disponibili su domain.com , ma non www.domain.com o xyz.domain.com .

//this is what i'm "intending"...
setcookie($name,$value,$expires,'/','domain.com');
//however, this is how it behaves:
setcookie($name,$value,$expires,'/','.domain.com');

Il ragionamento: sto impostando un CDN statico su un sottodominio e non voglio che i cookie della sessione utente vadano avanti e indietro per ogni immagine, file css, file js, ecc.

... devo ricorrere all'utilizzo di www.domain.com per il mio sito? Ci sono soluzioni alternative?

È stato utile?

Soluzione

Apparentemente, avere un cookie su " domain.com " che corrisponderà a " *. domain.com " è il comportamento previsto.

Ad esempio: COOKIE HTTP DELLO STATO DEI CLIENTI PERSISTENTI state (alcuni enfatizzano il mio ) :

  

dominio = nome di dominio

     

Durante la ricerca dell'elenco dei cookie per   cookie validi, un confronto tra   attributi di dominio del cookie è   realizzato con il nome di dominio Internet di   l'host da cui sarà l'URL   inverosimile. ...
" Tail matching " si intende   quell'attributo di dominio è abbinato   contro la coda del pieno   nome di dominio qualificato dell'host. A   attributo di dominio di " acme.com " voluto   abbina i nomi host " anvil.acme.com " come   oltre a " shipping.crate.acme.com " .

     

Solo host all'interno del dominio specificato   può impostare un cookie per un dominio e   i domini devono avere almeno due (2)   o tre (3) periodi in essi   impedire i domini del modulo: " .com " ;,   ".edu", e "va.us". Qualsiasi dominio che   fallisce in uno dei sette speciali   domini di primo livello elencati di seguito   richiedono due periodi. Qualsiasi altro dominio   richiede almeno tre. I sette   domini di primo livello speciali sono: " COM " ;,   " EDU " ;, " NET " ;, " ORG " ;, " GOV " ;, " MIL " ;, e   & Quot; INT ".

Quindi, dovrete:

  • usa " www.domain.com " per il tuo sito
  • o usa un nome di dominio totalmente diverso per i tuoi contenuti statici (come " .anotherdomain.com ")
    • per esempio, questo è ciò che viene fatto su StackOverflow: il contenuto statico viene fornito da sstatic.net

Altri suggerimenti

questo è il motivo per cui alcuni siti (incluso questo) registrano un dominio dedicato da utilizzare come CDN.

Non è possibile poiché il dominio dei cookie è tail matched rispetto al nome del dominio . Dovrai andare con www.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top