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
| |||
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 |
| |||
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. |
| |||
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? |
| |||
Respuesta: Problema: sesiones y subdominios Cita: 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. |
| |||
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?) |
| ||||
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 ![]() |
| |||
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” ); ? |
| |||
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 :( |