Mysql
 sql >> Database >  >> RDS >> Mysql

blocco dell'accesso dopo X tentativi falliti

Hai bisogno di quella che viene chiamata una finestra di tentativo di password.

Fondamentalmente 2 campi nel database, uno LastPasswordAttempt (datetime) e PasswordAttemptCount (int)

Quindi ad ogni accesso, controlla quando si è verificato l'ultimo LastPasswordAttempt e se è stato negli ultimi, diciamo 10 minuti - incrementa il PasswordAttemptCount, altrimenti reimpostalo su 0 (o 1 perché hanno appena fallito).

Nella stessa logica, controlla se PasswordAttemptCount è uguale a dire 5 o più, se lo è - nega l'accesso all'utente. Potresti avere un terzo campo che li blocca per alcune ore o un giorno.

ad esempio CanLoginAfter(datetime) che puoi impostare su un giorno dall'ultimo tentativo di password.

Spero che questo aiuti