2011-01-14 8 views
6

Supongamos que tengo dos cookies de sesión que se pareceDiferencia entre el Host y el dominio de los parámetros de cookies PHP

Primero 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 

y segundo

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

Si puede ver primero contiene Host parameter y valor y el segundo contiene el parámetro Domain. ¿Qué es exactamente lo que hacen y cuál es la diferencia b/w ellos?

Gracias

+0

Usted puede encontrar [ '$ Cookie-> setDomain ($ dominio)'] (https://github.com/delight- im/PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php # L117) útil, como se encuentra en [esta biblioteca independiente] (https://github.com/delight-im/PHP-Cookie). Esto maneja algunos esfuerzos de normalización para usted. – caw

Respuesta

11

De acuerdo con los comentarios a setcookie() function description, la diferencia es la siguiente:

  • Anfitrión: www.example.com

se limita a host especificado, por lo que esta cookie no ser visible ni a dominios completamente diferentes, ni a subdominios. Dicha cookie se creará si el dominio setcookie() $ parámetro se establece en una cadena vacía:

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

se limita al dominio especificado, por lo que esta cookie ser visible para los subdominios del dominio especificado (todos los dominios como * .www.example.com). Dicha cookie se creará si el dominio setcookie() $ parámetro se establece en algún dominio:

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