Inanzitutto dovresti salvare tutti gli indirizzi ip e in generale quante più informazioni possibili su ciascun tentativo di login. In più, come consiglio personale, potresti registrare il numero di richieste consecutive e adottare due provvedimenti differenti:
- se il tutto avviene in un arco di tempo breve e in maniera anomala, per esempio dieci tentativi in sessanta secondi, puoi bloccare quell'indirizzo ip e non l'account perchè altrimenti creeresti fastidi nell'utente
- se il tutto avviene in più minuti ma porta ad una serie di errori, magari dopo il quinto errore, per esempio, potresti far apparire un captcha in modo tale che un bot non può proseguire e se al successivo tentativo lascia il nuovo campo vuoto, procedi al ban per ip, segnalando il tentativo all'utente via mail poichè ne riconosci la natura
Sono le due cose che mi sono venute al momento in mente, se vuoi puoi svilupparle/ampliarle come meglio credi
Ciao