В качестве ответа на недавние угонщики Twitter и Jeff post on Dictionary Атаки, что является лучшим способом защитить ваш сайт от атак с использованием грубой силы?
Jeff post предлагает увеличить задержку при каждом попытке входа в систему, а предложение в комментарии - добавить капчу после второй неудачной попытки.
Оба они кажутся хорошими идеями, но откуда вы знаете, что такое "номер попытки"? Вы не можете полагаться на идентификатор сеанса (потому что злоумышленник может менять его каждый раз) или IP-адрес (лучше, но уязвим для бот-сетей). Простое ведение журнала с именем пользователя может, используя метод задержки, заблокировать законного пользователя (или, по крайней мере, сделать процесс входа в систему очень медленным для них).
Мысли? Предложения?