Foros del Web » Programando para Internet » PHP »

Que no caduque Usuario/Password en sesión

Estas en el tema de Que no caduque Usuario/Password en sesión en el foro de PHP en Foros del Web. Muy buenas, ¿Cómo hago para que no me caduque el usuario / password en una intranet que estoy haciendo? Por defecto, si no hay actividad ...
  #1 (permalink)  
Antiguo 28/12/2006, 06:34
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona (España)
Mensajes: 134
Antigüedad: 19 años, 3 meses
Puntos: 0
Que no caduque Usuario/Password en sesión

Muy buenas,

¿Cómo hago para que no me caduque el usuario / password en una intranet que estoy haciendo? Por defecto, si no hay actividad en cierto tiempo, el usuario se desconecta automáticamente y se debe hacer login de nuevo, y me han pedido que esto no pase.

He buscado en las FAQ's pero no he visto nada...

Un saludo
  #2 (permalink)  
Antiguo 28/12/2006, 06:36
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Que no caduque Usuario/Password en sesión

Podrías utilizar cookies.
  #3 (permalink)  
Antiguo 28/12/2006, 07:58
Avatar de vb2005  
Fecha de Ingreso: noviembre-2005
Ubicación: Paderborn - Alemania
Mensajes: 566
Antigüedad: 18 años, 5 meses
Puntos: 24
Re: Que no caduque Usuario/Password en sesión

se supone que con sessiones, la session dura hasta que se cierra el explorador....
  #4 (permalink)  
Antiguo 28/12/2006, 11:10
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
Re: Que no caduque Usuario/Password en sesión

aca tenes un ejemplo de como hacer un "recuerdame"

http://www.joe2torials.com/view_tutorial.php?view=66
  #5 (permalink)  
Antiguo 09/01/2007, 09:39
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona (España)
Mensajes: 134
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: Que no caduque Usuario/Password en sesión

Muchas gracias a todos por la ayuda, pero no es exactamente lo que busco.

Lo del "recuérdame" de Nefertiter está muy bien y me lo guardo, pero no es exactamente eso lo que necesito.

Como comenta vb2005, efectivamente hago la autentificación de usuarios mediante sesiones, pero él comenta que las sesiones duran hasta que se cierra el explorador, y por lo que parece eso no es del todo cierto, puesto que llega un momento que caduca (después de cierto tiempo de inactividad).

Lo que quiero saber es como controlar ese tiempo de inactividad para que no me caduque. Sé que es posible porque en mi servidor de desarrollo (en local en mi oficina) no me caduca la sesión, pero cuando lo subo al servidor allí si que me caduca.

A ver si alguien me puede informar un poco del tema.

Muchas gracias
  #6 (permalink)  
Antiguo 09/01/2007, 09:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Que no caduque Usuario/Password en sesión

En el php.ini tienes una variable que se llama session.gc_maxlifetime, y session.cache_expire, puedes aumentar esos valores para que la session dure mas tiempo, aunque por seguridad es mejor que se cierre la sesion por inactividad.
  #7 (permalink)  
Antiguo 09/01/2007, 11:03
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona (España)
Mensajes: 134
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: Que no caduque Usuario/Password en sesión

Gracias GatorV,

He encontrado como modificar esos valores vía código, y parece que lo he solucionado así:

ini_set("session.gc_maxlifetime", "28800");

Donde 28800 es el valor en segundos = 8 horas.

De momento parece que funciona. Esi sí, he tenido que añadirlo en todas las páginas.

Garcias a todos y un saludo
  #8 (permalink)  
Antiguo 23/01/2007, 10:25
Avatar de miglos  
Fecha de Ingreso: enero-2005
Ubicación: Perú
Mensajes: 235
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: Que no caduque Usuario/Password en sesión

Hola, estoy tratando de hacer lo mismo, segun el tipo de usuario que se registro, fijo el tiempo de sesion , como máximo en 1 hora.
Encontre este script por la web:
Código PHP:
function timeout(){
    if (($_SESSION['usrtip']==1) || ($_SESSION['usrtip']==2)){
        $session_timeout = 1200; 
    }else{
        $session_timeout = 3600;
    }
        if (isset($_SESSION['ultimoAcceso']) && ($_SESSION['ultimoAcceso'] < (time() - $session_timeout))){ 
            session_destroy();
        ?>    
            <script language="JavaScript"><!--
                vurl="session_timeout.php";
                window.navigate(vurl);
            // --></script>
        <?
        
} else { 
            
$_SESSION['ultimoAcceso'] = time(); 
        }  
}
Mi consulta es, si es necesario modificar los valores tanto para session.gc_maxlifetime y session.cache_expire o es suficiente con uno de ellos?? Para que sirve cada uno??
Con lo que plantea xberni, el ini_set("xxxx","xxx"); se tiene que definir en cada una de las páginas, al inicio??
Agradezco a todos la ayuda.
__________________
:adios:
  #9 (permalink)  
Antiguo 23/01/2007, 10:55
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona (España)
Mensajes: 134
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: Que no caduque Usuario/Password en sesión

Cita:
Iniciado por xberni Ver Mensaje

De momento parece que funciona. Esi sí, he tenido que añadirlo en todas las páginas.
Rectifico: no funciona!
  #10 (permalink)  
Antiguo 23/01/2007, 11:00
 
Fecha de Ingreso: noviembre-2006
Mensajes: 146
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: Que no caduque Usuario/Password en sesión

Porque no creas una base de datos MySQL con los datos de user y pass de cada usuario? Yo hice algo del estilo que además almacenaba las ips, con lo cual solo te podias conectar con tu cuenta desde tu ordenador.
Un saludo
  #11 (permalink)  
Antiguo 23/01/2007, 14:24
Avatar de miglos  
Fecha de Ingreso: enero-2005
Ubicación: Perú
Mensajes: 235
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: Que no caduque Usuario/Password en sesión

Como hago entonces para modficar el valor de la variable??? debo solicitarlo al administrador del hosting??
__________________
:adios:

Última edición por miglos; 23/01/2007 a las 14:56 Razón: error escritura
  #12 (permalink)  
Antiguo 25/01/2007, 19:25
Avatar de miglos  
Fecha de Ingreso: enero-2005
Ubicación: Perú
Mensajes: 235
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: Que no caduque Usuario/Password en sesión

Solucionado, solicitas a tu administrador del hosting que modifique los valores de session.gc_maxlifetime u otros valores relacionados a session, segun necesidades. Si es posible, ya puedes manejar la duracion de tus sesiones segun usuarios o como prefieras, pero hay temas de seguridad que deben tenerse en cuenta. Debo leer mas al respecto. De momento, para lo que necesitaba hacer, funciona.
__________________
:adios:
  #13 (permalink)  
Antiguo 24/01/2008, 00:38
Avatar de alcaphone  
Fecha de Ingreso: marzo-2006
Mensajes: 29
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Que no caduque Usuario/Password en sesión

Cita:
Iniciado por xberni Ver Mensaje
Gracias GatorV,

He encontrado como modificar esos valores vía código, y parece que lo he solucionado así:

ini_set("session.gc_maxlifetime", "28800");

Donde 28800 es el valor en segundos = 8 horas.

De momento parece que funciona. Esi sí, he tenido que añadirlo en todas las páginas.

Garcias a todos y un saludo
Gracias esta solucion me funciono

SALUDOS
__________________
Inteligencia = Locura * Sabiduria/ belleza
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 11:44.