sql >> Base de Datos >  >> RDS >> Mysql

bloqueo de inicio de sesión después de X intentos fallidos

Necesita lo que se llama una ventana de intento de contraseña.

Básicamente 2 campos en la base de datos, un LastPasswordAttempt (datetime) y PasswordAttemptCount (int)

Luego, en cada inicio de sesión, verifique cuándo ocurrió el último LastPasswordAttempt y si ha sido en los últimos 10 minutos, incremente PasswordAttemptCount; de lo contrario, reinícielo a 0 (o 1 porque acaban de fallar).

En la misma lógica, verifique si PasswordAttemptCount es igual a 5 o más, si lo es, niegue el acceso al usuario. Podría tener un tercer campo que los bloquee durante unas horas o un día.

es decir, CanLoginAfter (fecha y hora) que puede establecer en un día desde el último intento de contraseña.

Espero que esto ayude