Ограниченные попытки входа - PullRequest
1 голос
/ 12 февраля 2012

Я создаю систему входа в систему и хочу заблокировать лицо, пытающееся войти в систему, на несколько минут, когда введены неправильные имя пользователя и пароль, скажем, 4 раза.

Я знаю, как заблокировать его по IP, но это может создать блок, например. целая школа, если я там. Теперь я мог бы использовать имя пользователя, которое вводит человек, чтобы заблокировать доступ, но это оставляет возможность того, что введенное имя пользователя не существует в базе данных.

Мой вопрос: Как я могу создать этот блок для кого-то, кто вводит имя пользователя, которого не существует. И какие таблицы базы данных мне понадобятся для этого.

Также я искал возможность использовать сеанс и файлы cookie для него, но это оставляет проблему безопасности программного обеспечения, которое люди могут создавать для удаления сеансов и файлов cookie.

Так что, если бы кто-нибудь мог мне помочь, я был бы признателен.

1 Ответ

2 голосов
/ 12 февраля 2012

Я полагаю, что вы пытаетесь уйти от грубых атак, а не от бедного мужа, который забыл свое имя пользователя.

Реализуйте сложный механизм CAPTCHA, чтобы вы могли предотвратить большинство автоматических атак.Одновременно ведите подсчет попыток с определенного IP-адреса и интервал между этими последовательными попытками.Если какая-либо атака удастся решить вашу CAPTCHA, вы все равно сможете обнаружить ненормальную активность за пару минут и заблокировать доступ ко всему этому IP.Это может привести к отключению целой организации на некоторое время, но, по крайней мере, вы можете вывести их из строя из-за серьезной атаки.

Сессии и файлы cookie не помогут, потому что большая часть переборасистемы очищают и генерируют новый файл cookie для каждого запроса.

...