Originariamente inviato da eiyen
Concordo con @Alhazred e propongo anche un'alternativa: ad ogni tenativo di login incrementi di 1 il valore di una variabile di sessione... se arriva a "3" si effettua il reset della password (ed eventualmente si invia una mail di avviso e si aggiorna il db anche con uno status di "blocked")
La variabile di sessione funzionerebbe anche, ma fino ad un certo punto.
Un utente smaliziato chiuderebbe il browser al 2° tentativo fallito distruggendo così la sessione e ripartendo da 0.
Se il contatore è sul DB invece non può farci niente.