tiempo sesiones ejemplos destruir delete cookie _cookie php cookies

sesiones - tiempo en cookies php



PHP: dominio de cookies/control de subdominios (5)

Estoy trabajando en un sitio con múltiples subdominios, algunos de los cuales deberían tener su propia sesión.

Creo que lo he solucionado, pero he notado algo sobre el manejo de las cookies que no entiendo. No veo nada en los documentos que lo explique, así que pensé que vería si alguien aquí tiene algo que ver con la pregunta.

Si acabo de hacer:

session_start();

Termino con una cookie de sesión como esta:

subdominio.example.net

Sin embargo, si intento establecer el dominio de cookies yo mismo, me gusta

ini_set(''session.cookie_domain'', ''subdomain.example.net'');

o como

session_set_cookie_params( 0, "/", "subdomain.example.net", false, false);

Termino con una cookie para .subdomain.example.net (tenga en cuenta el punto de apertura), que creo que significa "coincidir con todos los subdominios (o en este caso subdominios).

Esto parece suceder con todas mis cookies en realidad, no solo con la sesión. Si configuro el dominio de cookies yo mismo, automáticamente tiene el punto antepuesto, es decir, este dominio y todos sus subs. Si no configuro el dominio, lo hace bien utilizando solo el dominio actual.

¿Alguna idea de lo que causa esto y qué puedo hacer para controlar ese punto precedente?

¡Gracias!


Esto puede ayudar a alguien (pasé algunas horas para resolver esto). Después de realizar los cambios en los archivos fuente y antes de probarlos, cierre su navegador para destruir PHPSESSIONID correctamente en todos los dominios y subdominios.

Espero que esto ahorre algo de tiempo!


Las funciones de cookies de PHP automáticamente marcan el $ dominio con un punto. Si no desea este comportamiento, puede usar la función de header . Por ejemplo:

header("Set-Cookie: cookiename=cookievalue; expires=Tue, 06-Jan-2009 23:39:49 GMT; path=/; domain=subdomain.example.net");


Me doy cuenta de que esta es una vieja pregunta, pero estaba teniendo este problema y ninguna de las respuestas anteriores lo hizo.

Quería configurar la cookie de sesión para un subdominio, pero también habilitar httponly y secure.

Para evitar un líder. Delante del subdominio, Kevin y stolsvik son correctos, no establezca el atributo del dominio.

Así que para hacer esto y aún así poder establecer httponly y modo seguro, establezca el dominio en NULL de la siguiente manera:

session_set_cookie_params(0, ''/'', NULL, TRUE, TRUE);

Ahora tendrá una cookie de sesión para un subdominio específico (sin encabezado) con httponly y seguro establecido como verdadero.


Si ejecuta su script PHP en " http://subdomain.example.net ", no use el parámetro de dominio :

setcookie(''cookiename'',''cookievalue'',time()+(3600*24),''/'');

Obtendrás una cookie con "subdomain.example.net" (y no ".subdomain.example.net")