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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Sistema de usuarios 1 login
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sistema de usuarios 1 login  (Leído 7,066 veces)
Cromatico

Desconectado Desconectado

Mensajes: 110


Ver Perfil
Sistema de usuarios 1 login
« en: 7 Febrero 2011, 22:16 pm »

Hola que talll, es la primera ves que posteo en esta sección y queria saber algo...
Yo tengo un sistema de usuarios simple en php & mysql...
Lo que queria saber es si es posible hacer que cada usuario pueda iniciar sesion una sola ves.
No se si me explico, por ejemplo:
Usuario: cromatico
pass:     cromatico

logueo en php y mantengo la sesion...


Entonces, abro la pagina de nuevo, con otro navegador, lo que sea y quiero iniciar sesion con el mismo usuario...
Entonces estaria bueno que evite eso, con algun mensaje estilo "su usuario esta siendo utilizado por otra persona"

Alguna pista de como se puede lograr eso?


En línea

Castg!
Wiki

Desconectado Desconectado

Mensajes: 1.191



Ver Perfil WWW
Re: Sistema de usuarios 1 login
« Respuesta #1 en: 7 Febrero 2011, 23:30 pm »

Agregá una columna a la base de datos, puede ser "loged", entonces, al momento en el que usuario inicia la sesión, vos cambias ese valor por "true" o "1", y cuando cierra la sesión lo volves a "false" o "0".
Entonces, cuando intente iniciar sesión en otra ubicación (por ende, si intenta iniciar la sesión, no tiene cookie) y ya está logeado en otro lugar, comprobas el valor de "loged", si es true, retornas error, si es false, lo logeas comúnmente.

Saludos..


En línea

Cromatico

Desconectado Desconectado

Mensajes: 110


Ver Perfil
Re: Sistema de usuarios 1 login
« Respuesta #2 en: 8 Febrero 2011, 00:07 am »

Si eso lo pense tambien, pero y si no cierra la sesion? Si apaga la pc directamente?

Gracias por responder!
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Sistema de usuarios 1 login
« Respuesta #3 en: 8 Febrero 2011, 00:58 am »

Supongo que la cookie tiene un tiempo de vida, no?
En línea

Te vendería mi talento por poder dormir tranquilo.
Castg!
Wiki

Desconectado Desconectado

Mensajes: 1.191



Ver Perfil WWW
Re: Sistema de usuarios 1 login
« Respuesta #4 en: 8 Febrero 2011, 01:07 am »

Al igual tiempo de expiracion seteado en la cookie, tiempo de expiracion de sesion en la base de datos. Osea, otra columna más que sea expire con la fecha y hora en que expira la sesión. Entonces, si loged es true pero ya expiró, tomá a loged como false y listo.
En línea

Cromatico

Desconectado Desconectado

Mensajes: 110


Ver Perfil
Re: Sistema de usuarios 1 login
« Respuesta #5 en: 8 Febrero 2011, 01:13 am »

Mmm pero siendo asi tendria que hacer aver si entiendo...
*Una columna poner 1 en caso de login y 0 en caso de offline o tiempo expirado
*En otra columna la hora exacta que se hizo la sesion en mysql

Y tendria que hacer algo mas, si el tiempo de expirasion de sesion de la db es nose 3 minutos, tendria que refrezcar cada 3 minutos la pagina php para que inicie de nuevo?

Gracias a los dos!
En línea

bomba1990


Desconectado Desconectado

Mensajes: 395



Ver Perfil WWW
Re: Sistema de usuarios 1 login
« Respuesta #6 en: 8 Febrero 2011, 03:08 am »

no necesitas dos columnas, con una basta pones la ultima fecha donde se conecto el usuario. Si el usuario vuelve a recargar la pagina o a hacer cualquier accion tranquilamente compruebas cual es la diferencia ocn la hora si es menor a 3 cargas la pagina y actualisas la hora sino es asi muestras el login. No es muy complicado, aunque pienso que 3 min es muy poco. suerte y cualquier dudas posteas.

modificacion:

lo estuve pensando y quizas si requieres otra cosa usar cookies para comprobar que ese es el navegador desde donde se esta conectando o quizas algo que tenga que ver con el id de session.
« Última modificación: 8 Febrero 2011, 03:18 am por bomba1990 » En línea

"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve
Cromatico

Desconectado Desconectado

Mensajes: 110


Ver Perfil
Re: Sistema de usuarios 1 login
« Respuesta #7 en: 8 Febrero 2011, 03:24 am »

Mmmm disculpen por tantas vueltas voy a ver si puedo explicar todo bien bien...

Lo que hago ahora es, desde visual basic 6, (a travez de php), conecto a la database con un usuario y contraseña, php responde y vb lee esa respuesta.
Lo que quiero hacer es un sistema de login para vb, pense que tranquilamente podria trabajar con php & mysql para esto.

El programa pide usuario y contraseña para abrir por ejemplo, esos datos los cifra y los manda por php a la database mysql, si coinciden con alguno de los usuarios y contraseñas cifrados tambien en la database, entonces se abre...

Ahora la cuestion es que si una pc esta usando el programa con un usuario y pass, quisiera que si otra pc intenta abrir el programa con el mismo usuario y pass no lo deje ya que esta siendo utilizado por otra pc.

Lo que intento evitar es dejar mi pc prendida como servidor, ya que atravez de winsock vb clientes & server seria mucho mas facil, pero bueno quisiera hacerlo de este modo con php & mysql para que no dependa de mi pc.

Entonces, el programa abre el link php que conecta con la database, verifica y si es correcto responde OK y el programa abre.

Las soluciones que me dieron es crear una tabla con logeado true o false por ejemplo en mysql 1 o 0, pero si uno de los que esta usando el programa, apaga la pc directamente, nunca va a mandar el php para que indique 0 en mysql...

Volviendo a lo del tiempo, como se podria hacer que en mysql despues de X minutos se establezca el valor 0 en X usuario?

Quizas la complique mucho o di muchas vueltas pero bueno :P Disculpen

Muchas gracias!!!
En línea

bomba1990


Desconectado Desconectado

Mensajes: 395



Ver Perfil WWW
Re: Sistema de usuarios 1 login
« Respuesta #8 en: 8 Febrero 2011, 03:57 am »

bueno ya te entiendo mejor, yo no conozco una funcion en mysql que haga eso pero yo te recomeindo que pongas dos columnas una con la ip de la maquina y otra con la hora donde se conecto la maquina, cuando una pc se conecte hace varias comprobaciones:
  • 1. Primero a que hora se conecto por ultima ves ese usuario
  • 2. if (Hora actual - hora en al base de datos) > x then paso 4 else paso 3
  • 3. if ip.maquina = ip.base de datos then ejecuta el pedido else paso 4
  • 4. logeate

y en tu codigo de vb debes poner que haga un llamado a la pagina asi sea cada 5 min que seria igual a x para decir estoy vivo y asi actualizar la hora.

entiendes? disculpa si no soy muy claro
En línea

"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve
Cromatico

Desconectado Desconectado

Mensajes: 110


Ver Perfil
Re: Sistema de usuarios 1 login
« Respuesta #9 en: 8 Febrero 2011, 18:12 pm »

Entendi perfectamente, ahora me pongo a hacer eso, me parece que es una de las formas mas "faciles" por asi decirlo y esta buena, muchas gracias!
Quizas me surgan algunas dudas luego, gracias por ayudarme!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Atascado en Login de usuarios... « 1 2 »
PHP
Noxors 10 4,524 Último mensaje 25 Abril 2008, 22:20 pm
por Noxors
Crear sistema de login y paginas para usuarios
PHP
& eDu & 2 7,487 Último mensaje 14 Junio 2008, 02:20 am
por DarK_FirefoX
Integrar usuarios SMF con mi sistema de usuarios (y no al reves)
PHP
Alex_bro 3 4,094 Último mensaje 18 Julio 2008, 05:55 am
por nicolasc
Dar permisos a los usuarios en login
PHP
n3fisto 3 9,489 Último mensaje 27 Noviembre 2009, 15:12 pm
por n3fisto
Problema login usuarios
Java
Winterz 3 2,199 Último mensaje 27 Mayo 2014, 00:38 am
por Winterz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines