Anda memerlukan apa yang disebut Jendela Percobaan Kata Sandi.
Pada dasarnya 2 bidang dalam database, satu LastPasswordAttempt (datetime) dan PasswordAttemptCount (int)
Kemudian pada setiap login, periksa kapan LastPasswordAttempt terakhir terjadi dan jika sudah dalam 10 menit terakhir katakan - tambah PasswordAttemptCount, jika tidak, setel ulang ke 0 (atau 1 karena baru saja gagal).
Dalam logika yang sama, periksa apakah PasswordAttemptCount sama dengan mengatakan 5 atau lebih, jika ya - tolak akses pengguna. Anda dapat memiliki kolom ke-3 yang menguncinya selama beberapa jam atau satu hari.
yaitu CanLoginAfter(datetime) yang dapat Anda atur ke hari dari upaya sandi terakhir.
Semoga membantu