Foros del Web » Programando para Internet » PHP »

Problema: sesiones y subdominios

Estas en el tema de Problema: sesiones y subdominios en el foro de PHP en Foros del Web. Hola, Acabo de averiguar que en algunas páginas se me pierde la sesión porque pasan a estar en un subdominio. Me gustaría alguna forma -sin ...
  #1 (permalink)  
Antiguo 23/07/2008, 02:59
Usuario no validado
 
Fecha de Ingreso: marzo-2004
Mensajes: 349
Antigüedad: 20 años
Puntos: 0
Problema: sesiones y subdominios

Hola,

Acabo de averiguar que en algunas páginas se me pierde la sesión porque pasan a estar en un subdominio. Me gustaría alguna forma -sin usar cookies- de que la sesión se mantuviese en el subdominio ¿es posible?

Gracias
  #2 (permalink)  
Antiguo 23/07/2008, 03:57
 
Fecha de Ingreso: mayo-2005
Mensajes: 188
Antigüedad: 18 años, 11 meses
Puntos: 6
Respuesta: Problema: sesiones y subdominios

Puedes utilizar la función session_set_cookie_params o los parámetros de sesiones del php.ini (o .htaccess).

Por defecto, cuando creas una sesión la cookie se asocia al nombre completo del servidor, por lo que si cambias de servidor (aunque sea del mismo dominio) la cookie no se enviará y por lo tanto la sesión se perderá.

Con la función anterior (o el .ini) puedes indicarle que se asigne la cookie de sesión al dominio, con lo que será enviada aunque cambies de URL.

Ejemplo:
- www.midominio.com
- www2.midominio.com

Si creas una sesión en el primer servidor, por defecto la cookie se asociará a la dirección "www.midominio.com" por lo que cuando saltes al www2 no se enviará la cookie.
Si antes de crear la sesión, la configuras para el dominio "midominio.com" la cookie de la sesión se enviará a todos los servidores que cuelguen del dominio, así todos "compartirán" la sesión.

Otra cosa es como gestiones la persistencia de la sesión entre distintos servidores, ya que por defecto PHP usa ficheros en el disco local, por lo que si los servidores son diferentes, aunque el id de sesión sea el mismo, los datos serán diferentes (accederían a ficheros diferentes).

Ufff... pensaba que la respuesta iba a ser más corta, pero al final se me ha ido....

Saludos.
  #3 (permalink)  
Antiguo 23/07/2008, 04:00
Usuario no validado
 
Fecha de Ingreso: marzo-2004
Mensajes: 349
Antigüedad: 20 años
Puntos: 0
Respuesta: Problema: sesiones y subdominios

Aham pero ¿eso es con cookies no? Yo, o me he confundido con el concepto, o no estoy usando cookies y sólo sesiones ¿de esa manera no se puede?
  #4 (permalink)  
Antiguo 23/07/2008, 05:23
 
Fecha de Ingreso: mayo-2005
Mensajes: 188
Antigüedad: 18 años, 11 meses
Puntos: 6
Respuesta: Problema: sesiones y subdominios

Cita:
Iniciado por JBRS Ver Mensaje
Aham pero ¿eso es con cookies no? Yo, o me he confundido con el concepto, o no estoy usando cookies y sólo sesiones ¿de esa manera no se puede?
Para usar sesiones no es obligatorio el uso de cookies, aunque es lo más común.

También puedes ir arrastrando el id de sesión en los parámetros. Normalmente el PHP se encarga de hacerlo si está activada la opción correspondiente.
  #5 (permalink)  
Antiguo 23/07/2008, 06:42
Usuario no validado
 
Fecha de Ingreso: marzo-2004
Mensajes: 349
Antigüedad: 20 años
Puntos: 0
Respuesta: Problema: sesiones y subdominios

A ver... entonces, sin usar cookies ¿puedo mantener la sesión al ir al subdominio si traslado la id de sesión? ¿y como puedo hacerlo? (¿poniéndolo en la url? ¿hay otra manera?)
  #6 (permalink)  
Antiguo 23/07/2008, 07:10
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 15 años, 11 meses
Puntos: 11
Respuesta: Problema: sesiones y subdominios

Creo que estas confundido.

Para usar sesiones lo mas comun es que el ID de sesion se traslade por cookies. La informacion no va por la cookie de sesion, solo el ID. Lo que tienes que setearle a la sesion es que el dominio de la cookie sea .tusitio.com y no www.tusitio.com, para que la sesion valga para todos los subdominios.

http://ar2.php.net/manual/es/functio...kie-params.php

Prueba esto:
session_set_cookie_params ( 0 , “/” , “.midominio.com” );

Fijate si te funciona en firefox e IE

  #7 (permalink)  
Antiguo 24/07/2008, 03:16
Usuario no validado
 
Fecha de Ingreso: marzo-2004
Mensajes: 349
Antigüedad: 20 años
Puntos: 0
Respuesta: Problema: sesiones y subdominios

Esto...

Hasta ahora usaba un

session_start();

en cada página. ¿Añado o remplazo por

session_set_cookie_params ( 0 , “/” , “.midominio.com” );

?
  #8 (permalink)  
Antiguo 24/07/2008, 05:18
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 15 años, 11 meses
Puntos: 11
Respuesta: Problema: sesiones y subdominios

Cita:
Iniciado por JBRS Ver Mensaje
Esto...

Hasta ahora usaba un

session_start();

en cada página. ¿Añado o remplazo por

session_set_cookie_params ( 0 , “/” , “.midominio.com” );

?
Antes de cada session_start debe haber un session_set_cookie_params. Pruebalo a ver si funciona.
  #9 (permalink)  
Antiguo 24/07/2008, 06:28
Usuario no validado
 
Fecha de Ingreso: marzo-2004
Mensajes: 349
Antigüedad: 20 años
Puntos: 0
Respuesta: Problema: sesiones y subdominios

Con:

session_set_cookie_params ( 0 , “/” , “.midominio.com” );
session_start();

(cambiando midominio por mi dominio y conservando el punto...)

...desde luego no me va :(
  #10 (permalink)  
Antiguo 25/07/2008, 00:15
Usuario no validado
 
Fecha de Ingreso: marzo-2004
Mensajes: 349
Antigüedad: 20 años
Puntos: 0
Respuesta: Problema: sesiones y subdominios

¿He de cambiar los parámetros del 0 y la / ? Busco en el registro de cookies y no me crea ninguna...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:16.