Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/09/2012, 04:49
Avatar de adryan310
adryan310
 
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 8 meses
Puntos: 3
Pregunta ¿como crear un tiempo de sesion para el usuario en php?

Hola a todos ! estoy desarrollando un sitio que registra usuarios pero por su seguridad quiero que si pasa mas de 10 min inactivo se le cierre la sesion y redireccione al login nuevamente tengo el siguiente codigo que lo hace:
Código PHP:
<?php 
session_start
();
             
  if (isset(
$_SESSION["autenticado"])&&($_SESSION['autenticado'] != "")) 
  {
      
//calculamos el tiempo transcurrido  
       
$fechaGuardada $_SESSION["ultimoAcceso"]; 
       
$ahora date("Y-n-j H:i:s"); 
       
$tiempo_transcurrido = (strtotime($ahora)-strtotime($fechaGuardada));   

      
//comparamos el tiempo transcurrido  
        
if($tiempo_transcurrido >= 20)
        {  
         
//si pasaron 10 minutos o más  
          
session_destroy(); // destruyo la sesión  
          
header("Location: ../pag_usuarios/login.php?s=1"); //envío al usuario a la pag. de autenticación
      //sino, actualizo la fecha de la sesión  
        
}else{  
              
$_SESSION["ultimoAcceso"] = $ahora;  
             }   
  }
?>
pero solo funciona si actualizo la misma pagina pero si llego despues de 10 y clickeo otro link a una pagina x, la sesion le continua abierta, entonces como haria para q le cierre la sesion y lo redireccione a penas se cumpla el tiempo limite ? ayuda por favor

NOTA: la
Código PHP:
$_SESSION["ultimoAcceso"]; 
la creo cuando se logea y entra a su perfil.