|    
			
				03/03/2006, 13:22
			
			
			  | 
  |   |  |  |  Fecha de Ingreso: marzo-2006 
						Mensajes: 17
					 Antigüedad: 19 años, 7 meses Puntos: 0 |  | 
  |  Ayuda urgente con autenicacion  
  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.
     |