Du har brug for det, der kaldes et vindue med adgangskodeforsøg.
Grundlæggende 2 felter i databasen, et LastPasswordAttempt (datetime) og PasswordAttemptCount (int)
Så ved hvert login skal du kontrollere, hvornår det sidste LastPasswordAttempt fandt sted, og om det har været inden for de sidste 10 minutter - forøg PasswordAttemptCount, ellers nulstil det til 0 (eller 1, fordi de lige har fejlet).
I samme logik skal du kontrollere, om PasswordAttemptCount er lig med f.eks. 5 eller mere, hvis det er - nægt brugeren adgang. Du kunne have et 3. felt, som låser dem ude i et par timer eller en dag.
dvs. CanLoginAfter(datetime), som du kan indstille til en dag fra sidste adgangskodeforsøg.
Håber dette hjælper