Просто в базе в таблице пользователей делаете колонку attempts_count и увеличиваете это число при неправильном вводе логина пароля.
После этого делаете проверку, что если число >= 3, то записываете дату и время в колонку locked_till ( к примеру now() + 1 час) и также делаете на нее проверку.
При правильном вводе логин и пароля сбрасывать количество попыток.
А мне кажется что лучше капчу показывать на 3+ ввод пароля... Авторизация на том же тостере со 2ой попытки требует ввода капчи. Капча не блокирует таких как я, которые нужный пароль вспоминают с 5ой попытки... При этом от ботов и переборов в достаточной степени защитит...