Foros del Web » Programando para Internet » PHP »

Expiracion de Login

Estas en el tema de Expiracion de Login en el foro de PHP en Foros del Web. Hola muy buenas, Tengo un pequeño problema con la expiración de una sesión, Tengo esto: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $time = 300000 ; ...
  #1 (permalink)  
Antiguo 05/05/2014, 12:25
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 11 años, 3 meses
Puntos: 9
Expiracion de Login

Hola muy buenas,

Tengo un pequeño problema con la expiración de una sesión,

Tengo esto:

Código PHP:
Ver original
  1. $time = 300000;
  2.     if(isset($_SESSION['logged'])){
  3.         if(isset($_SESSION["expire"]) && time() > $_SESSION["expire"] + $time)
  4.       {
  5.            unset($_SESSION["expire"]);
  6.            unset($_SESSION["logged"]);
  7.       }  
  8.       else
  9.       {
  10.            $_SESSION["expire"] = time();
  11.       }
  12.         include "./src/meni.php";
  13.     }
  14.     else{

Y quiero que por ejemplo en 1 hora, se cierre sesión automáticamente.

Como pueden ver el código intento cerrar sesión en 5 minutos pero no funciona, no me salta ningún error ni nada solo que no se cierra sesión.

¿Podría echarme una mano por favor?.

Un cordial saludo!!
  #2 (permalink)  
Antiguo 05/05/2014, 12:40
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Expiracion de Login

consulte el modulo session en el manual de php para que puedas establecer el tiempo de duración de la misma
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 05/05/2014, 12:43
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Expiracion de Login

Si no tuvieras acceso al archivo de configuración (php.ini), utilizando la función ini_set, puedes establecer el tiempo límite de una sesión antes que caduque.

Referencia

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #4 (permalink)  
Antiguo 05/05/2014, 12:51
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 11 años, 3 meses
Puntos: 9
Respuesta: Expiracion de Login

Estoy probando con lo del manual de session_destroy

Código PHP:
Ver original
  1. $time = 3600;
  2.     if(isset($_SESSION['logged'])){
  3.         if (ini_get("session.use_cookies")) {
  4.             $params = session_get_cookie_params();
  5.             setcookie(session_name(), '', time() - 42000,
  6.             $params["path"], $params["domain"],
  7.             $params["secure"], $params["httponly"]
  8.         );
  9.     }
  10.         else{
  11.             echo "<meta http-equiv='Refresh' content='0;url=http://localhost/logout'>";
  12.         }

Pero me lanza un error...

-------------------------------------------------------------------------------------------------------

Respondiendo a la siguiente pregunta, nunca he trabajado con php.ini ni se donde se consigue.

Saludos.
  #5 (permalink)  
Antiguo 05/05/2014, 13:49
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 11 años, 3 meses
Puntos: 9
Respuesta: Expiracion de Login

Hola muy buenas,

He añadido esto al archivo:

Código PHP:
Ver original
  1. ini_set("session.cookie_lifetime","60");
  2. ini_set("session.gc_maxlifetime","60");


(No he modificado nada en php.ini)

Solo he puesto eso que venía en la web, se supone que en 1 minuto termina la sesión?

¿cierto?.

PEro no funciona, y no me salta ningún error.

Saludos!

Etiquetas: expiracion, login
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




La zona horaria es GMT -6. Ahora son las 09:10.