2011-01-14 13 views
6

Supponiamo che io ho due cookie di sessione che si presenta comeDifferenza tra host e dominio nei parametri del biscotto PHP

Primo uno

Name: d58ba4091c622661a0d46f03b412ac8b 
Content: m9ciub2u3ig59638r43uqjb8e6 
Host: www.example.com 
Path:/
Send for: Any type of connection 
Expires:Sunday, February 27, 2011 5:50:18 PM 

e secondo

Name: test 
Content: kdfssdfb2ufdfjww3436detasd 
Domain: .www.example.com 
Path:/
Send for: Any type of connection 
Expires:Sunday, February 27, 2011 5:50:18 PM 

Se si può vedere prima contiene Host parameter e il valore e il secondo contengono il parametro Domain. Cosa fanno esattamente e qual è la differenza tra loro?

Grazie

+0

Si potrebbe trovare [ '$ cookie-> setDomain ($ dominio)'] (https://github.com/delight- im/PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php # L117) utile, come si trova in [questa libreria standalone] (https://github.com/delight-im/PHP-Cookie). Questo gestisce alcuni sforzi di normalizzazione per te. – caw

risposta

11

Secondo commenti setcookie() function description, la differenza è la seguente:

  • Host: www.example.com

è limitato a host specificato, quindi questo cookie non essere visibile né a domini completamente diversi né a sottodomini. Tale cookie viene creato se setcookie() parametro $ dominio è impostato su una stringa vuota:

setcookie($name, $value, time()+3600, $path, ""); 
  • Domain: .www.example.com

è limitato al dominio specificato, quindi questo cookie essere visibile ai sottodomini del dominio specificato (tutti i domini come * .www.example.com). Tale cookie viene creato se setcookie() parametro $ dominio è impostato su un certo dominio:

setcookie($name, $value, time()+3600, $path, "www.example.com"); 
Problemi correlati