Foros del Web » Programando para Internet » PHP »

Evitar que se loguee más de 1 vez la misma cuenta

Estas en el tema de Evitar que se loguee más de 1 vez la misma cuenta en el foro de PHP en Foros del Web. Holas, Esop, necesito saber cómo evitar que una misma cuenta se loguee 2 veces en el sistema, entiendo que con las variables de sesión puedo ...
  #1 (permalink)  
Antiguo 14/02/2008, 09:05
 
Fecha de Ingreso: agosto-2004
Mensajes: 131
Antigüedad: 20 años, 3 meses
Puntos: 2
Evitar que se loguee más de 1 vez la misma cuenta

Holas,

Esop, necesito saber cómo evitar que una misma cuenta se loguee 2 veces en el sistema, entiendo que con las variables de sesión puedo controlar que esté logeado o no, pero ahora necesito validar que no haya ingresado un usuario haciendo uso de los mismos datos, ignoro si en php existen datos globales como el application de ASP. Por mi parte preferiria evitar el uso de bases de datos para hacer eso.

Por otra parte también me interesaria saber si es posible conocer cuando el usuario cierra la ventana del navegador o bien si hay alguna forma de personalizar lo que el servidor haga cuando se termina la sesión.

Agradecido por su ayuda.

Rodrigo
  #2 (permalink)  
Antiguo 14/02/2008, 09:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Evitar que se loguee más de 1 vez la misma cuenta

Lamento decirte que necesitas usar una base de datos o algún medio persistente para poder identificar cuando el usuario inicio la sesión. No puedes hacerlo desde las sesiones ya que estas no se comunican entre ellas.

Una forma de identificar si un usuario ya no esta en tu pagina es guardando un tiempo de vida, y con un cron job, que se ejecute cada por decir 10 minutos, verifiques si este tiempo de vida es mayor a la ultima actividad, y en ese caso desloguear al usuario.

Otra forma es utilizando session_set_save_handler, pero debes de implementar el codigo para todas las funciones no solo para el garbage collector.

Saludos.
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 12:17.