Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: johnwmartinez en 12 Octubre 2008, 17:27 pm



Título: Sistema de usuarios con logueos unicos
Publicado por: johnwmartinez en 12 Octubre 2008, 17:27 pm
Hola que tal a todos...

Tengo una inquietud: quiero hacer un sistema de usuarios, y se que para hacerlo debo recurrir a las sesiones; pero quiero saber como puedo hacer para que los usuarios tengan logueos únicos, me explico:

Una persona se registra como jwjunior con una contraseña xxxx y esto queda guardado en la base de datos. Entonces, una persona que esta en londres se va a loguear con el usuario jwjunior y la contraseña xxxx, pero si una persona en argentina se loguea con ese mismo nick y ese mismo pass tambien lo puede hacer (en los modulos comunes), lo que yo quiero es que eso no se pueda, que si alguien accede con un usuario ninguna otra persona pueda acceder.



Alguien me podria ayudar a saber como se puede hacer eso? hay alguna funcion en sesiones que me permita hacer eso? o bueno, alguna función en mysql?

NOTA: El sistema lo voy a montar en LAMP.


Agradezco su ayuda.


Título: Re: Sistema de usuarios con logueos unicos
Publicado por: WHK en 12 Octubre 2008, 20:02 pm
Un par de post mas abajo aparece alguien con la misma duda y con la respuesta incluida:

http://foro.elhacker.net/php/tutorial_crear_area_restringida_con_php_en_nuestra_web-t229893.0.html


Título: Re: Sistema de usuarios con logueos unicos
Publicado por: johnwmartinez en 14 Octubre 2008, 16:05 pm
Hola, creo que no leyeron mi post completo....


Ese lugar donde me mandaron tenia unn sistema de registros muy basico y de hecho, por lo que pude ver, tenia un error en la linea 11 ya que no estaba definiendo de entrada el valor errorusuario....

De hecho, este sistema ni siquiera usa sesiones.... Por favor, quiero saber cual es la forma correcta de hacer un sistema donde no entren varias personas con un login....

Si yo le vendo a alguien un servicio y le asigno una contraseña y un usuario, esa persona podria revender el servicio compartiendo su usuario y contraseña y asi 10, 20 o 30 usuarios podrian entrar con el mismo login y yo quiero que solo 1 usuario entre con un login y un pass, que cuando accese inmediatamente el login quede bloqueado para otros usuarios.


Espero que me puedan ayudar y muchas gracias por la atencion prestada.


Título: Re: Sistema de usuarios con logueos unicos
Publicado por: alone-in-the-chat en 14 Octubre 2008, 17:34 pm

Define un campo en la BD , indicando que el usuario se encuentra en session , de esa forma si otro usuario quiere loguearse(con el mismo user y pass) en el sistema y encuentra ese campo activo le deniegas el acceso .

Es lo primero que se me ocurre.


Saludos¡¡



Título: Re: Sistema de usuarios con logueos unicos
Publicado por: johnwmartinez en 15 Octubre 2008, 17:12 pm
ok, de hecho a mi se me ocurrio algo asi:

que la tabla usuario tenga un campo "activo" con dos posibles respuestas: 1 o 0 (si o no).

Que al hacer session_start(); haga un cambio en la base de datos colocando activo=1, y que al salir de la session haga otro cambio del tipo activo=0....


Pregunta: En caso de error en el pc del usuario, podria llegar el caso que se caiga el sistema y no se modifique la tabla? me explico:

dado un caso hipotetico, el man estaba navegando y se logueo y la tabla cambio, pero resulta que se presento un problema en su ordenador o el iexplorer tuvo una caida inesperada, y se le reinicie el sistema, ¿podria ese campo quedarse en activo=1 y al mismo tiempo quedar fuera de la session?


Espero que me ayuden con este tema, es un desafio barbaro que me colocaron para temrinar esta semana y todavia no he podido adelantar prácticamente nada.




Muchas Gracias por su atención.