Secondo me, si potrebbe gestire diversamente. Ad esempio, conteggiando quanti tentativi vengono fatti da un indirizzo IP nel breve termine (quindi in memoria) facendo sì che al terzo (o al tentativo N di libera scelta) la pagina si blocchi e presenti un messaggio indicando di attendere diversi secondi prima di riprovare.
Una fatica del genere per un IP che due volte al giorno prova ad accedere, se le password non sono intelligibili, credo sia sprecata.
Diverso è imbastire un sistema che blocchi davvero gli attacchi potenzialmente dannosi per le performance o pericolosi per il tentativo di indovinare con forza bruta un utente e password di accesso.