Foros del Web » Programando para Internet » PHP »

Expiracion de Variables de sesion tras 30minutos

Estas en el tema de Expiracion de Variables de sesion tras 30minutos en el foro de PHP en Foros del Web. Hola, buennaaaas. MI problema es el siguiente. Tras pasar 30 minutos aproximadamente, realmente el tiempo exacto no lo pude cronometrar, las variables de sesión son ...
  #1 (permalink)  
Antiguo 13/01/2010, 13:18
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 20 años, 6 meses
Puntos: 0
Expiracion de Variables de sesion tras 30minutos

Hola, buennaaaas.

MI problema es el siguiente.

Tras pasar 30 minutos aproximadamente, realmente el tiempo exacto no lo pude cronometrar, las variables de sesión son eliminadas en mis scripts.

Por ello cuando el usuario no usa por 30mins la pagina, las variables se destruyen.

Me parece que el problema pudiera venir por algún lado del php.ini, pero sinceramente no lo encuentro, copio lo referente a continuación:

session
Session Support enabled
Registered save handlers files user
session.auto_start Off
session.bug_compat_42 On
session.bug_compat_warn On
session.cache_expire 180
session.cache_limiter nocache
session.cookie_lifetime 0
session.cookie_path /
session.cookie_secure Off
session.entropy_file no value
session.entropy_length 0
session.gc_divisor 100
session.gc_maxlifetime 1440
session.gc_probability 1
session.name PHPSESSID
session.referer_check no value
session.save_handler files
session.serialize_handler php
session.use_cookies On
session.use_only_cookies On
session.use_trans_sid Off


Gracias!!!!
  #2 (permalink)  
Antiguo 13/01/2010, 13:22
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Respuesta: Expiracion de Variables de sesion tras 30minutos

El uso de las variables de sesión es register_globals en el php.ini.

Es aconsejable que tenga el valor "off".

salu2
__________________
LuZbIng
  #3 (permalink)  
Antiguo 13/01/2010, 13:29
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Expiracion de Variables de sesion tras 30minutos

OK, pero eso no creo que genere mi problema
  #4 (permalink)  
Antiguo 13/01/2010, 13:33
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Respuesta: Expiracion de Variables de sesion tras 30minutos

son eliminas por seguridad, Por ejemplo, para evitar que una persona olvide “desconectarse” y otro aproveche su usuario cuando no esté

quieres controlar el tiempo de la sesion?
existe $_SESSION["SESION_TIME"]; en php
__________________
LuZbIng
  #5 (permalink)  
Antiguo 13/01/2010, 13:48
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Expiracion de Variables de sesion tras 30minutos

LuzBing, eso ya lo controlo.

El tema es que el tiempo de ejecucion por seguridad lo contolo a mano yo, seteo una variable de session con la hora de login, y ante que nada compruebo comparando la hora de login con la hora actual, el tiempo de session.

Pero el problema viene en que "yo" quiero decidir si el usuario expiro (por medio del control mencionado), y lamantablemente el servidor me gana de mano... eliminandome toda variable de session al los 30mins aprox

Graciasss!!
  #6 (permalink)  
Antiguo 13/01/2010, 13:49
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años
Puntos: 7
Respuesta: Expiracion de Variables de sesion tras 30minutos

es que tendrias que mediante un ajax o algo asi ejecutar un session_start, asi se mantendria viva la session
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #7 (permalink)  
Antiguo 13/01/2010, 13:55
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Expiracion de Variables de sesion tras 30minutos

$_SESSION["SESION_TIME"];
No esta disponible en mi versión de php, tengo la 4.4.7
  #8 (permalink)  
Antiguo 13/01/2010, 14:00
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Respuesta: Expiracion de Variables de sesion tras 30minutos

haber si te sirve esto:

ini_set("session.gc_maxlifetime", 10800);//corresponde a 5 horas
session_Start()
tendrias que colocarlo al inicio del script

te alarga la sesion a 5 horas espero te sirva o lo puedas adaptar
__________________
LuZbIng
  #9 (permalink)  
Antiguo 13/01/2010, 14:07
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Expiracion de Variables de sesion tras 30minutos

Hola LuzBung
Bueno, loco gracias por la mano!

Yo tambien, buscando encontre esto, donde cookie_lifetime tambien puede llegar a influir, por lo tanto lo ideal seria:

//Inicializo las variables de session:
ini_set('session.gc_maxlifetime',7200);
ini_set('session.cookie_lifetime',7200);

// Continuo la sesion abierta
session_start();

y lo probe en mi server con lo siguiente:


y lo probe por las dudas aplicando lo siguiente:

echo 'Valor_actual:<BR>';
echo 'session.gc_maxlifetime = ' . ini_get('session.gc_maxlifetime') . "\n";


ini_set('session.gc_maxlifetime',7200);

echo '<BR><BR>Valor_nuevo:<BR>';
echo 'session.gc_maxlifetime = ' . ini_get('session.gc_maxlifetime') . "\n";

Bueno, ahora es cuestión de probarlo a ver si las sesiones mueren a los 25min..
  #10 (permalink)  
Antiguo 13/01/2010, 14:09
Avatar de LuZBinG  
Fecha de Ingreso: enero-2008
Mensajes: 407
Antigüedad: 16 años, 3 meses
Puntos: 5
Respuesta: Expiracion de Variables de sesion tras 30minutos

pues comenta si lo solusionas seria un buen aporte para los demas

salu2
__________________
LuZbIng
  #11 (permalink)  
Antiguo 13/01/2010, 14:13
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Expiracion de Variables de sesion tras 30minutos

Okis, lo pruebo y aviso
  #12 (permalink)  
Antiguo 13/01/2010, 14:43
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 3 meses
Puntos: 36
Respuesta: Expiracion de Variables de sesion tras 30minutos

Cita:
Iniciado por LuZBinG Ver Mensaje
El uso de las variables de sesión es register_globals en el php.ini.
no no no no. De hecho, nada tienen que ver con las sesiones. Solo determinan si valores recibidor por Get, Post, Cookie y Server son tratador como variables globales.

Y sí, debe estar en Off.

Cita:
Iniciado por LuZBinG Ver Mensaje
existe $_SESSION["SESION_TIME"]; en php
¿en serio? ... ¿alguna referencia?.

Cita:
Iniciado por nublar Ver Mensaje
Pero el problema viene en que "yo" quiero decidir si el usuario expiro (por medio del control mencionado), y lamantablemente el servidor me gana de mano... eliminandome toda variable de session al los 30mins aprox
Son, de hecho, 24 mins.

Cita:
Iniciado por nublar Ver Mensaje
session.gc_maxlifetime 1440
http://www.php.net/session.configura...gc-maxlifetime

Como primera opción, prueba darle un valor más grande (¿24 hrs te bastarán? ), aunque igual deberías probar simplemente comentando dicho parámetro ... no sé cómo se comporte en ese caso.

Claro, este es un comportamiento genérico de PHP. Debes tener en cuenta si habrá más aplicaciones corriendo en el mismo servidor o trabajarás al final en un hosting compartido. En tal caso, quizá podrías jugar con el valor de session.save_path y hacer tu propio recolector de basura.

Etiquetas: expiracion, minutos, tras, variables
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 19:26.