que onda mis amigos foreros
 
aqui les envio un detalle que no me deja dormir..
 
Resulta que me enviaron un script para autenticar usuarios y que puedan accesar a una pagina determinada, de igual manera que la sesion de los usuarios sea de 60 minuos, esto significa que se cierre la ventana o deje el usuario de ver ese contenido al temino de esos 6 minutos.
 
El script es este:
 
-----------------------------------------------------------------
archivo 1.-  llamado passwords.php
-----------------------------------------------------------------
<? 
//vemos si el usuario y contraseña es váildo 
if ($_POST["usuario"]=="miguel" && $_POST["password"]=="miguel"){ 
    setcookie("visitas", "1", time() + 60);
//usuario y contraseña válidos 
    session_name("loginUsuario"); 
    //asigno un nombre a la sesión para poder guardar diferentes datos 
   session_start(); 
    // inicio la sesión 
    $_SESSION["autentificado"]= "SI"; 
    //defino la sesión que demuestra que el usuario está autorizado 
    $_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s"); 
    //defino la fecha y hora de inicio de sesión en formato aaaa-mm-dd hh:mm:ss 
    header ("Location: aplicacion.php"); 
if ($_SESSION["autentificado"]= "SI")
{
header ("Location: documento.htm");
}else { 
    //si no existe le mando otra vez a la portada 
    header("Location: login.htm"); 
} 
}
?>
 
-------------------------------------------------------------
luego, tengo el archivo aplicacion.php
-------------------------------------------------------------
 
<? 
//iniciamos la sesión 
session_name("loginUsuario"); 
session_start(); 
 
//antes de hacer los cálculos, compruebo que el usuario está logueado 
//utilizamos el mismo script que antes 
if ($_SESSION["autentificado"] != "SI") { 
    //si no está logueado lo envío a la página de autentificación 
    header("Location: login.htm"); 
} else { 
    //sino, 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 >= 60) { 
     //si pasaron 10 minutos o más 
      session_destroy(); // destruyo la sesión 
      header("Location: sesionend.htm"); 
//envío al usuario a la pag. de autenticación 
      //sino, actualizo la fecha de la sesión 
    }else { 
    $_SESSION["ultimoAcceso"] = $ahora; 
   } 
} 
?>
 
Todo funciona bien al momento de autenticar el usuario, me redirecciona a la pagina que se debe ver,, pero la sesion continua por horas... no respeta el tiempo de sesion que le estoy dando, y el usuario puede seir explorando la pagina.
que puede estar pasando.. cabe mensionar que no tengo ningun script en mi pagina " documento.htm "
 
Espero podeis ayudarme..
 
un cordial saludo a todos. 
   
 

