Come fanno i browser a sapere quale cookie ottenere?

2

Ho provato a scrivere uno script che visualizzava i contenuti di un set di cookie da un altro sito ma non ha funzionato.

<?php
 echo 'Website cookie is  '.$_COOKIE['locale'];
?>

Ma ottengo un errore indice indefinito. I cookie possono essere recuperati solo dal sito di emissione? Ho aperto il componente aggiuntivo su Cookie Manager in Firefox e ogni cookie ha un sito e un nome. Quindi un cookie può essere visto solo se il sito che lo richiede lo ha emesso e (ovviamente) viene dato il nome giusto? Come viene applicata - i browser Web sono programmati semplicemente in questo modo o i cookie hanno una sorta di sicurezza integrata?

    
posta Celeritas 28.03.2013 - 23:31
fonte

2 risposte

6

Sì, i browser applicano l'ambito del dominio dei cookie. Ci sono un certo numero di regole su quando i cookie possono essere inviati, ma la regola più elementare è che i cookie sono solo allegati alle richieste allo stesso dominio da cui sono stati impostati.

Inoltre, se il cookie ha un attributo path, verrà inviato solo con richieste che corrispondono a quel percorso all'interno delle richieste al dominio da cui sono state impostate e i cookie contrassegnati con " secure " il flag verrà inviato solo insieme alle richieste effettuate tramite HTTPS.

    
risposta data 28.03.2013 - 23:36
fonte
2

Sì, i cookie da un sito possono essere visualizzati solo dallo stesso sito. Questo è implementato dal browser; è necessariamente implementato dai browser perché HTTP è un protocollo richiesta-risposta. Quando il codice PHP viene eseguito, si trova sul server, poiché è stata ricevuta una richiesta dal browser e il tuo codice può solo esplorare ciò che il browser ha deciso di inviare nella sua richiesta. Quando parlano con un server, i browser inviano solo cookie noti per quel server, e quando il server restituisce un valore cookie da memorizzare nel browser, il browser lo memorizza in modo specifico per quel sito, e nessun altro.

(Esistono sottigliezze con sottodomini ma l'immagine grande rimane la stessa: i siti non possono vedere i cookie da altri siti o memorizzare i cookie destinati ad altri siti, e questa separazione è imposta dai browser. Per i dettagli vedi standard .)

    
risposta data 28.03.2013 - 23:39
fonte

Leggi altre domande sui tag