Foros del Web » Programando para Internet » PHP »

Duda: contar el número de intentos de acceso fallidos

Estas en el tema de Duda: contar el número de intentos de acceso fallidos en el foro de PHP en Foros del Web. hola! deseo implementar un sistema de control similar al que emplea forosdelweb para hacer login. Lo explico brevemente: Si el usuario introduce datos de acceso ...
  #1 (permalink)  
Antiguo 14/04/2008, 07:38
 
Fecha de Ingreso: diciembre-2007
Mensajes: 8
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Duda: contar el número de intentos de acceso fallidos

hola!

deseo implementar un sistema de control similar al que emplea forosdelweb para hacer login. Lo explico brevemente:

Si el usuario introduce datos de acceso erróneos, se le permite volver a intentarlo pero se va anotando el número de intentos. Si el número de intentos llega a 5, se bloquea la cuenta durante un tiempo.


Mi duda:

No tengo muy claro cómo implementar ese contador. Doy por hecho que debe ser del lado del servidor y que tendrá que almacenar la dirección IP desde la que se ha accedido y la hora/fecha. Pero... cómo hago esto, en un array o una variable global? en la base de datos?

Y para limpiar los datos antiguos... se os ocurre alguna forma elegante y eficiente?


montón de gracias por cualquier aportación
un saludo, jorge
  #2 (permalink)  
Antiguo 14/04/2008, 09:38
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Re: Duda: contar el número de intentos de acceso fallidos

¿Porqué no usas sesiones?
Implementas un contador en la sesion q sea el q te valide eso, si el acceso falló (dicho sea de paso, no dices como validas a los usuarios, supongo q sea BD), es decir si la consulta a la BD falló, aumentas el contador. Cuando llegue al numero pues redireccionas o baneas la ip, como lo quieras
saludos
  #3 (permalink)  
Antiguo 14/04/2008, 16:39
 
Fecha de Ingreso: diciembre-2007
Mensajes: 8
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Duda: contar el número de intentos de acceso fallidos

hola eulloa,

me había planteado esa opción pero en ese caso, si el usuario alcanza el límite de intentos no tiene más que iniciar una nueva sesión (por ejemplo, borrando las cookies) para tener 5 nuevos intentos
  #4 (permalink)  
Antiguo 14/04/2008, 17:20
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Duda: contar el número de intentos de acceso fallidos

Podrías crear un campo la bd donde guardes la cantdad de intentos fallidos, con cada error sumás 1 y cuando se logra loguear correctamente lo pones en 0 la cantidad de intentos.
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #5 (permalink)  
Antiguo 14/04/2008, 17:42
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: Duda: contar el número de intentos de acceso fallidos

Hola,

En la base de datos, debes tener un control del IP desde donde se intenta ingresar y tambien el usuario al que se intentó atacar.

De esa manera aunque cambien de conexion esta bloqueado por usuario. Son dos formas de evitar que intenten ilimitadas veces ingresar de manera no autorizada.


Por sesiones no serviría, ya que le pasas un "clearner" al sistema y borraste todos los rastros de sesionm y cookies, o de ultima, cierras el IE y lo vuelves a abrir.

Es eso??

Saludos

Última edición por usermax; 14/04/2008 a las 18:03
  #6 (permalink)  
Antiguo 14/04/2008, 18:36
 
Fecha de Ingreso: diciembre-2007
Mensajes: 8
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Duda: contar el número de intentos de acceso fallidos

hola, muchas gracias por las aportaciones.

sí, es algo similar a lo que comenta usermax.

por ejemplo, en una tabla voy almacenando todos los intentos de conexión (dirección IP, fecha y hora, usuario). si cuando una dirección IP intenta acceder tiene más de 5 intentos en los últimos 15 minutos, no le dejo.

ahora bien, de qué forma puedo ir eliminando los intentos de conexión antiguos?

la única opción que se me ocurre es que cada vez que se recibe un intento de conexión se eliminen todas las entradas con antigüedad de más de uno o dos días. es una solución apropiada o habría alguna otra solución?


la otra duda es si hay alguna solución para evitar tener que tocar la base de datos (no sé, se podría emplear un array global o alguna cosa así?)


gracias una vez más
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 11:23.