Foros del Web » Programando para Internet » PHP »

Detectar Cuando una sesion esta inactiva

Estas en el tema de Detectar Cuando una sesion esta inactiva en el foro de PHP en Foros del Web. Hola a todos. Antes de todo Felicito al Webmaster por el Nuevo FOROSDELWEB que esta muy bien. Tengo un proyecto en mente pero no se ...
  #1 (permalink)  
Antiguo 28/05/2004, 10:33
 
Fecha de Ingreso: noviembre-2003
Ubicación: Guatemala
Mensajes: 72
Antigüedad: 20 años, 5 meses
Puntos: 0
Pregunta Detectar Cuando una sesion esta inactiva

Hola a todos.
Antes de todo Felicito al Webmaster por el Nuevo FOROSDELWEB que esta muy bien.

Tengo un proyecto en mente pero no se como hacerlo. Lo que quiero es crear un módulo Restringido para los usuarios registrados y que la pagina en la que es se encuentre (cualquier pagina del modulo restringido) detecte cuando el usuario deje de enviar peticiones o esta inactivo, p.ej.(5 minutos de inactividad) y que el sistema cierre la sesion, esto por cuestiones de seguridad. (soy novato con esto de las sesiones) si alguien puede decirme como hacer esto estaría muy agradecido.

Gracias de Antemano,
Muchas Gracias.
  #2 (permalink)  
Antiguo 28/05/2004, 11:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Sobre el sistema de autentificación .. (basado en sesiones) podrías ver:
<spam>
Autentificator
http://php.cluster-web.com/autentificator/
</spam>

Dentro de la configuración de sesiones del php.ini dispones de la directiva:
session.gc_maxtimelife que define el tiempo de vida de un SID (Identificador único de sesión).
No es la única directiva que influye en el tiempo de vida de una sesión .. pero es una de las más importantes.

Ahora .. para que "PHP" te "tire" de la página que estás viendo en el cliente a esos "5 minutos" que configurarías en session.gc_maxtimelife .. debes "recargar" la página constantemente (o bien con otras técnicas de "frames/iframes" ocultos para no tener una "recarga" de página "aparente").. Esa recarga de página la haces desde Javascript/<meta de refresh> HMTL o similar (en el "lado del cliente") .. Lo demás lo harán las validaciones de la existencia de las sesiones (un "if" de tu aplicacion ya lo hará) bajo el SID que las creo (eso lo hace automáticamente PHP).

Un saludo,
  #3 (permalink)  
Antiguo 28/05/2004, 11:27
 
Fecha de Ingreso: noviembre-2003
Ubicación: Guatemala
Mensajes: 72
Antigüedad: 20 años, 5 meses
Puntos: 0
Gracias Cluster por tu respuesta.
Ahora respecto a lo de la configuracion de session.gc_maxtimelife, estaba revisando la configuracion de mi servidor hosting(pagado) y este tiene un valor de 1440, ahora la pregunta es, este valor es en dias, horas, minutos, segundos? podrias decirme.

Gracias de Antemano.
  #4 (permalink)  
Antiguo 28/05/2004, 11:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El valor es en segundos (1440 s = 24 minutos).

Puedes modificar ese valor en tiempo de ejecución de tus scripts vía la función:
ini_set()

Y también puedes definir esa directiva en un .htaccess para que afecte a todo script de tu sitio simultáneamente ..

Fijate tambien como progas tu SID:
¿en Cookies? .. session.use_cookies = ON (o 1) y del valor de expiración de esta (suele ser 0 segundos .. así que lo que mandaría es el valor neto de session.gc_maxtimelife)

Un saludo,
  #5 (permalink)  
Antiguo 28/05/2004, 12:13
 
Fecha de Ingreso: noviembre-2003
Ubicación: Guatemala
Mensajes: 72
Antigüedad: 20 años, 5 meses
Puntos: 0
Perdona cluster, pero soy novato con esto. segun lo que revise con la funcion ini_set() modifico la configuracion de php(php.ini) pero en mi caso pago mi hosting, no hay problema con esto, que alteraria la configuracion general del servidor y no solo mi cuenta de hosting, y si puedes darme un codigo de ejemplo de como hacer esto.

Gracias Otra vez
  #6 (permalink)  
Antiguo 28/05/2004, 20:59
Avatar de drcyber  
Fecha de Ingreso: julio-2002
Mensajes: 826
Antigüedad: 21 años, 9 meses
Puntos: 2
Al usar ini_set() solo afectas el tiempo de vida de la sesión en el script que estás ejecutando. IMAGINA QUE AFECTARAS TODO EL SERVER !!! sería un desastre.

Saludos!
__________________
Dr. Cyber
Ingeniarte.com
(soy el mismo Takitei)
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 06:21.