Foros del Web » Programando para Internet » PHP »

Prevenir multiples Loggins?

Estas en el tema de Prevenir multiples Loggins? en el foro de PHP en Foros del Web. Hola a todos... Deseo prevenir el mismo nombre y contraseña del usuario que se utilizarán simultaneos y en diversas computadoras... como puedo hacer esto... tengo ...
  #1 (permalink)  
Antiguo 30/04/2004, 11:45
 
Fecha de Ingreso: marzo-2004
Ubicación: panamá
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Mensaje Prevenir multiples Loggins?

Hola a todos...

Deseo prevenir el mismo nombre y contraseña del usuario que se utilizarán simultaneos y en diversas computadoras... como puedo hacer esto... tengo algo de código pero no me funciona ....
=-( gracias de antemano...

Última edición por vaneza; 30/04/2004 a las 11:47
  #2 (permalink)  
Antiguo 30/04/2004, 12:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues si pones ese algo de código .. a lo mejor vemos por donde está el problema o por lo menos como estás intentando enfocar la solución (podrías comentar como pretendes resolver el problema)

Podrías leer este mensaje del foro que hablan sobre la "concurrencia":
http://www.forosdelweb.com/showthrea...hreadid=185524


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 03/05/2004, 10:15
 
Fecha de Ingreso: marzo-2004
Ubicación: panamá
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Cada vez que el usuario se logue, se crea una variable al azar (# # random) que se almacena en la tabla donde se tiene el usuario y la contraseña, y en el session_var que es una variable de session creada para el random. Cuando se comprueba a usuario, el valor de #random en la sesión debe ser el que esta en la tabla. Si otra conexión se realiza el #random en la tabla es actualizado y la primera conexión falla... es algo así... pero eh intentado hacerlo y no me funciona... mi función es la siguiente:
cree una función llamada random asi:
function aleatorio (){
$numero = rand(0, 99);
$secret = "palabraclave";
$secret2 = $_SESSION[user_id];
$palabra = "$numero$secret$secret2";
$encriptado = md5($palabra);
$encriptado1 = md5($palabra);
$_SESSION['sesion_var'] = $encriptado;
}
entonces en principal.php llamo a la función que esta en random.php con un include, esta la coloco después de que valida user y passwd... ella guarda en la db bien y la sessión la crea... pero si entro desde otra pc lo hace... y se supone que no debe hacerlo...
  #4 (permalink)  
Antiguo 03/05/2004, 11:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No entiendo bien la lógica de tu solución . .pero sólo te hago el comentario que las sesiones son únicas para el cliente que las crea no para todo usuario . .así que ese dato en la sesión le pertenece a ese único usuario (cliente).

Tendrías que tener una variable tipo "flag" en un médio de almacenamiento compartido .. lease: Base de datos, archivo de texto plano.. etc donde cada proceso de "autentificación" revise si ese dato está creado (el "flag" un si o no, on off .. 1 o 0 ..). Si no existe .. autentificas y pones ese flag a 1 .. EL problema vendrá cuando el usuario no salga por tu "logout" donde puedas pasar comodamente ese estado a 0 sin problemas para dejar un nuevo login. Para solventar el problema (parte de lo que se comentó en el link que te dejé de un mensaje del foro) es tratar ese "flag" como fecha (hora/fecha) de entrata del usuario al sistema .. actualizar esa fecha en cada petición de una página de tu sitio para así establecer un tiempo de "inactividad" si ha trasncurrido un tiempo X desde la última vez que se "movió" el usuario (pidío una página al servidor por un link, formulario ..etc). Toda esta validación .. se haría en el script de validación de tu usuario (autentificación).

Así mas o menos trabajan los sistemas de "usuarios activos" (que tienes ejemplos en las FAQ's de este foro). (sólo que se basan en la "IP" del cliente .. en tu caso usa el Identificador de tu usuario registrado).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:37.