elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  tiempo de vida en sesiones php
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: tiempo de vida en sesiones php  (Leído 7,899 veces)
mxsoun

Desconectado Desconectado

Mensajes: 43


Ver Perfil
tiempo de vida en sesiones php
« en: 9 Agosto 2011, 20:58 pm »

quiero crear una sesion y que tenga un tiempo de vida de 5 minutos y despues se elimine, me encontre este codigo en internet pero no me funciona.
pero es justo lo que busco, no se por que no funciona
Código:
<?php
ini_set("session.cookie_lifetime","300");
session_start();
$_SESSION["time"] = time();
if (time() - $_SESSION["time"] < 300) {
echo 'no ha pasado 5 minutos';
}else{
echo 'ha pasado mas de 5 minutos';
session_destroy();
}
?>


En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: tiempo de vida en sesiones php
« Respuesta #1 en: 10 Agosto 2011, 05:31 am »

error de lógica :P será porque asignas una nueva hora justo antes de comprobar si ya pasaron 300 segundos? "no me funciona" no dice nada


En línea

Ojo por ojo, y el mundo acabará ciego.
EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: tiempo de vida en sesiones php
« Respuesta #2 en: 10 Agosto 2011, 06:38 am »

Ademàs, se dice que no es del todo exacto usar session.cookie_lifetime o session.gc_maxlifetime, yo lo haria de la siguiente forma:

crearsesion.php
Código
  1. <?php
  2.  
  3. //CREAR LA SESION Y REDIRECCIONAR
  4. $_SESSION['EXPIRA'] = strtotime("10 seconds"); //EL TIEMPO ADELANTADO 10 SEGUNDOS
  5. header("Location: actualizarsesion.php");
  6.  
  7. ?>
  8.  

actualizarsesion.php
Código
  1. <?php
  2.  
  3. $_SESSION['TIEMPO'] = time(); //ACTUALIZAR LA HORA
  4.  
  5. //SI NO SE DECLARO $_SESSION['EXPIRA'] VOLVERLA A DECLARAR
  6. if (empty($_SESSION['EXPIRA'])) { header("Location: crearsesion.php"); }
  7.  
  8. if ((!empty($_SESSION['TIEMPO'])) AND (!empty($_SESSION['EXPIRA'])) AND ($_SESSION['TIEMPO'] > $_SESSION['EXPIRA'] )) {
  9.    //SI SE EXCEDE EL TIEMPO ASIGNADO EN $_SESSION['EXPIRA'] DESTRUIR LA SESION
  10.    session_unset();
  11.    //REDIRECCIONAR
  12. }
  13.  
  14. echo $_SESSION['TIEMPO'].'<br>';
  15. echo $_SESSION['EXPIRA'];
  16.  
  17. ?>
  18.  

Lo demas corre por cuenta tuya como implementarlo a lo que queres...
Fuente: http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes/1270960#1270960
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
mas tiempo de vida o dejarlo en el pasado...
Programación Visual Basic
Belial & Grimoire 6 2,899 Último mensaje 27 Agosto 2007, 15:43 pm
por Freeze.
cuál es el tiempo maximo de vida de la firma de un applet??
Java
jhonatanAsm 0 1,474 Último mensaje 30 Marzo 2012, 17:34 pm
por jhonatanAsm
Qué tiempo de vida le queda a Java 7?
Java
NikNitro! 4 3,434 Último mensaje 24 Agosto 2014, 23:20 pm
por NikNitro!
Tiempo de vida del €uro « 1 2 3 4 5 »
Foro Libre
Minusfour_cierralo_o_baneamefull 42 12,017 Último mensaje 6 Enero 2015, 10:33 am
por Orubatosu
¿Estimación realista del tiempo de vida de un SSD?
Hardware
Eleкtro 4 2,981 Último mensaje 9 Mayo 2017, 19:07 pm
por Randomize
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines