Foros del Web » Programando para Internet » PHP »

Tiempo de caducidad de una Sesión

Estas en el tema de Tiempo de caducidad de una Sesión en el foro de PHP en Foros del Web. Buenas gente, Tengo que delimitar el tiempo de las sessiones de mi web a 15 minutos: Si un usuario logado tarda más de 15 minutos ...
  #1 (permalink)  
Antiguo 25/04/2007, 05:12
Avatar de renton  
Fecha de Ingreso: enero-2004
Ubicación: BCN (PPCC)
Mensajes: 573
Antigüedad: 20 años, 2 meses
Puntos: 1
Tiempo de caducidad de una Sesión

Buenas gente,
Tengo que delimitar el tiempo de las sessiones de mi web a 15 minutos: Si un usuario logado tarda más de 15 minutos en hacer "algo" dentro de la web, hay que matar la sesion.

Pues bien, he utilizado el siguiente código en lo más alto de cada página de la web, incluso por encima del session_start() y del session_cache_limiter('private') :

Cita:
ini_set("session.gc_maxlifetime","900"); //900 SEGUNDOS (15*60)
ini_set("session.cookie_lifetime","900"); //900 SEGUNDOS (15*60)
ini_set("session.cache_expire","15"); //15 MINUTOS
Pues bien, creo que no hace exactamente lo que quiero, ya que, por lo que parece, por mucho que el usuario vaya "moviéndose" por la web, la página caduca a los 15 minutos de haber iniciado la sesion.
Y de hecho no parece que tarde 15 minutos, de hecho tarda mucho menos en "morir".

Alguna ayuda?
Mil gracias!!!
__________________
"No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa.
No podran res davant un poble unit, alegre i combatiu!!"
  #2 (permalink)  
Antiguo 25/04/2007, 05:49
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Tiempo de caducidad de una Sesión

Prueba a asignarlas a una variable y comprueba q no sea FALSE.

Código PHP:
$var=ini_set("session.gc_maxlifetime","900"); //900 SEGUNDOS (15*60)
if ($var==false) {
    
//Lo q quieras hacer en caso de q no rule.

Si tiene asignado el valor anterior, q será el q en la configuración por defecto tiene, se supone q funciona y habría q determinar cual podría ser la causa de q muera la sesión antes de tiempo.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #3 (permalink)  
Antiguo 25/04/2007, 07:21
Avatar de renton  
Fecha de Ingreso: enero-2004
Ubicación: BCN (PPCC)
Mensajes: 573
Antigüedad: 20 años, 2 meses
Puntos: 1
Re: Tiempo de caducidad de una Sesión

No hay problema por ese lado. Funcionan bien. La pregunta básica es si el tiempo que le doy en estas variables es "relativo" o "global". Mejor dicho, ¿son 15 minutos desde que se inicializan las variables, sin tener en cuenta si el usuario va "moviendose" por la web? ¿o por contra el "contador" del tiempo vuelve a 0 cada vez que el usuario se "mueve" por la web?
__________________
"No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa.
No podran res davant un poble unit, alegre i combatiu!!"
  #4 (permalink)  
Antiguo 25/04/2007, 10:20
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Tiempo de caducidad de una Sesión

Técnicamente el contador debería volver a 0 siempre q el usuario siga navegando. Se supone q el tiempo para finalizar las sesiones es según la actividad del usuario. Cuando el usuario permanece inactivo el tiempo definido es cuando la sesión se pierde.

No sé si habrá algo más relacionado... q algún sabio nos ilumine.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #5 (permalink)  
Antiguo 25/04/2007, 18:55
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: Tiempo de caducidad de una Sesión

Exacto, cuando un usuario navega el sitio la sesion vuelve a cero y el tiempo corre por inactividad.

Si caduca puede llegar a ser que esta visitando sectores del sitio donde no se ha niciado sesion entonces esas partes no cuentan.

Estoy opinando al aire porque no conozco como está armado el sitio. Si es un sitio modular o cómo está programado.

Suerte
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 01:01.