Limite de usuarios en php

Hola amigo, mi pregunta como debería redactar un script para que en una página diseñada en php y mysql y que tiene usuarios osea como esta ... Que pueda entrar un y solo un usuario por vez con la misma identificación osea que si el usuario esta logueado no pueda entrar otro con ese mismo login y pass, sino sabes el script dame una idea para que puedas orientrame, desde ya muchas gracias
Respuesta
1
Solo un usuario idéntico simultaneo en PHP:
Hay 2 formas de conseguirlo:
1.- Marcar en la base de datos, cuando un usuario concreto ha entrado, y mediante una página de logout, el usuario avisa a la base de datos que se ha marchado del website. Si el usuario está marcado en la base de datos, PHP impide el acceso a cualquier intento de autenticación con dicho usuario. El problema de este sistema es que hay que confiar en que el usuario al marcharse del site, pase por la página web de logout. Si no pasara, su sesión quedaría abierta indefinidamente, bloqueando para siempre la entrada a dicho usuario. Se puede solventar, utilizando un script del cron que cada 5 minutos, realice una limpieza de usuarios no conectados, verificando que no han entrado en ninguna página web del site desde hace 5 minutos.
2.- Controlando la IP del usuario. No permitiendo que se registre un usuario con otra IP distinta a la de la anterior autenticación del mismo usuario siempre y cuando no haya pasado un tiempo razonable (30 minutos) entre autentiaciones.
Los dos sistemas tienen bastantes pegas, porque es difícil de controlar el estado de sesión de un determinado usuario, ya que el web no mantiene información persistente. No está pensado para ello. PHP incorpora un sistema de variables de sesión, que puede ayudarte bastante en este objetivo, aunque como te digo, no obtendrás un resultado exacto y preciso como en una aplicación normal cliente/servidor.

1 respuesta más de otro experto

Respuesta
1
La parte de validación de los usuarios en PHP se pueden hacer de varias formas.. una de ellas es mediando cookies que recién están soportadas a partir de la versión 4 de PHP, pero supongamos que quieres hacer algo nuevo, yo he hecho un script, donde tengo los usuarios con sus respectivas claves en una tabla de MySQL, cada vez que los usuarios se loguean, es decir que incregar el usuario y contraseña bien, son dados de alta en una tabla temporal.. con una dirección IP única.. y de esa manera estaría restrigiendo el uso a un solo usuario es cual por varios métodos podrías restringir si es que otra persona desea acceder con el mismo usuario, después en las sucesivas páginas sólo con el identificador del usuario debes comprobar si es que está dado de alta en la tabla temporal que he nombrado anteriormente y listo, luego puedes poner un tiempo determinado para que pasado dicho tiempo el usuario es borrado de la tabla y la p´roxima vez que verifique dará un error.
Bueno espero que hayas entendido, cualquier cosa me avisas.
..
Hola disculpa que te jorobe de vuelta pero a lo que voy es algo así como más bien la redacción del código php o algo que me pueda orientar a hacerlo... desde ya muchas gracias y me has sido de mucha ayuda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas