PHP - Que un usuario este logueado solo una vez

 
Vista:

Que un usuario este logueado solo una vez

Publicado por Rocío (2 intervenciones) el 20/09/2006 16:53:03
Hola a todos, estoy precisando realizar una validación que logre no permitir a un mismo usuario loguearse más de una vez al sitio. Pensé en guardar el nombre de usuario en una tabla de mi base de datos postgres cuando se loguea un usuario y antes de dar por aceptado el logueo verificar que este nombre de usuario ya no esté registrado en la tabla.
Mi problema es que no logro saber en qué momento borrar el dato de un usuario de la tabla para así indicar que el mismo dejó de estar logueado.

Si alguien tiene alguna experiencia en algo como esto por favor si me podría guiar un porquito, no leí nada acerca de como se podría realizar esta validación, estuve buscando pero no encontré nada al respecto, lo expuesto anteriormente es sólo una idia que se me ocurrió a mi, no sé si hay algún método más decente de lograr realizar esta validación

Gracias desde ya.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Que un usuario este logueado solo una vez

Publicado por Mike79 (669 intervenciones) el 20/09/2006 20:35:00
Supongo que ya pensaste en el boton de "Salir".

Pero bueno, una técnica muy usada es guardar la fehca y hora en que el usuario entro, y cada vez que el usuario pida una página web, se actualize esa fecha y hora. Si pasan más de 5 minutos, borra el dato en la tabla, y pide de nuevo el login y passwd.

Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Que un usuario este logueado solo una vez

Publicado por Rocío (2 intervenciones) el 21/09/2006 15:20:17
Pensé en utilizar el botón salir pero es muy poco probable que los usuarios hagan uso de dicho botón cada vez que deseen cerrar la aplicación, lo más probable es que cierren diréctamente el navedor.

Quisiera saber, existe algún evento que se podría capturar donde se tenga la instancia en que se cierra el navegador para así borrar el registro correspondiente al usuario que estaba logueado? Por ahí más o menos va mi drama...

Por otro lado.. cuando se da el caso de que un usuario que existe en la tabla intente loguearse de nuevo, se tendría que matar la sesión anterior y habilitar la que se está requiriendo, cómo se haría eso?

Muchas gracias por la atención y la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Que un usuario este logueado solo una vez

Publicado por Mike79 (669 intervenciones) el 21/09/2006 18:14:33
Lo mejor es cancelarlas despues de X tiempo de inactividad. Yo recomiendo 5 minutos, pero dependiendo tu aplicación, puede llegar a ser de hasta 1 hora.

Por otro lado, existe un evento de JavaScript que se llama onload y onunload, que se disparan cuando el usuario entra y sale de la página respectivamente. Sin embargo no te aconsejo que las uses, ya que puede que el navegador no tenga activado javascript, tambien puede ser que se quede trabado, reinicie la maquina bruscamente, etc...

Cuando un usuario intente logearse de nuevo, invalidas la session actual y creas una nueva. Esto es por seguridad, así evitas que un mismo usuaario este logeado desde diferentes lugares al mismo tiempo.

Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar