Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/03/2006, 13:22
el_pareja
 
Fecha de Ingreso: marzo-2006
Mensajes: 17
Antigüedad: 18 años, 1 mes
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.