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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: Sólo un usuario por vez
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: Sólo un usuario por vez  (Leído 1,670 veces)
Leguim


Desconectado Desconectado

Mensajes: 719



Ver Perfil
[Pregunta]: Sólo un usuario por vez
« en: 17 Octubre 2019, 15:13 pm »

Buenos días,
quería que un usuario sólo tenga una session abierta en la aplicación, no varias, desde otros dispositivos, u otros navegadores, clientes, etcétera...

La lógica para poder hacer esto (Lo encontré por ahí  :xD)

Código
  1. Si existe ya un usuario conectado, desconectar a ese usuario, y dejar entrar al nuevo usuario.
  2. - 1) Para cada usuario, mantén el id de sesión en la base de datos.
  3. - 2) Si al hacer login, existe un id de sesión en la base de datos, carga esa sesión , destrúyela, y crea una nueva.
  4. (session_id($id); session_start(); session_destroy();session_start())
  5.  

¿Como sería esto? Estoy en un bloqueo y no puedo entenderlo..


En línea

Agente Naranja


Desconectado Desconectado

Mensajes: 535


uguu~


Ver Perfil WWW
Re: [Pregunta]: Sólo un usuario por vez
« Respuesta #1 en: 4 Noviembre 2019, 09:58 am »

Imaginate que la sesión es como una tarjeta que le das al usuario con una información que a tí como servidor te ayuda a identificarlo. Si quieres que cada navegador use una sesión distinta, habrías de llevar el registro de qué tarjeta le has dado y cada vez que el usuario te diera una tarjeta, verificar que ha sido la tarjeta que le has dado más recientemente. Por ejemplo.

Lo que tienes que hacer entonces sería guardar en la base de datos, por ejemplo tabla "Usuarios", una columna llamada "sesión_activa". Cada vez que haces login, generas un número aleatorio y lo metes en esta columna, y estableces una cookie con dicho valor, por ejemplo le das el nombre a la cookie de "sesión_navegador"

Cada vez que el usuario haga una petición, debes chequear que "sesion_navegador" sea el mismo valor que existe en la base de datos, tabla usuarios, columna "sesión_activa". Si el valor fuese diferente, pues le dices al usuario que alguien se ha logeado desde otro navegador y que debe volver a entrar con su usuario y contraseña.





En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pregunta sobre status de usuario.
PHP
Hadess_inf 4 2,968 Último mensaje 10 Junio 2009, 14:16 pm
por ^Cloud^
Un solo voto por usuario en PHP « 1 2 3 »
PHP
wirelesswifi 23 10,431 Último mensaje 8 Mayo 2011, 23:32 pm
por wirelesswifi
Crear BD en SQL SERVER que solo acceda un usuario
Bases de Datos
Zeroql 2 2,319 Último mensaje 14 Agosto 2012, 13:23 pm
por Zeroql
[Pregunta]: .php que es ejecutado como demonio se me borra solo.
Desarrollo Web
Leguim 1 2,628 Último mensaje 20 Septiembre 2021, 19:05 pm
por el-brujo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines