2016-01-26 3 views
0

Мне было интересно, если можно реализовать с ASP.NET Identity IP-блок, если кто-то попытается войти в xxx раз с неправильным именем пользователя/паролем. Или если теперь, как бы вы решили это? В IIS или просто путем регистрации всех попыток входа в БД и проверки каждый раз, когда кто-то входит в систему, как часто он вошел в систему с неправильными учетными данными, а если он превышает максимальный, добавьте его в таблицу блоков?ASP IP Identity IP Block

ответ

1

Если вы используете IIS, вы можете использовать описанный вами подход и использовать список запрета IP IIS в качестве таблицы блоков. Чтобы добавить IP-адреса в список блоков, используйте WMI, как описано здесь. http://www.codeproject.com/Articles/4671/How-to-Programmatically-add-IP-Addresses-to-IIS-s

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

+0

Хорошо, спасибо, поэтому вы также предложите использовать отдельную БД и сохранить блоки в этом? Идея заключается в том, что пользователь получает блокировку после x пытается в течение x минут, но я хочу избежать того, что кто-то делает brutforcing с несуществующими именами пользователей, поэтому я также хочу дополнительно заблокировать их отдельно для xxx минут –

+1

Да, вам определенно нужно дополнительные метаданные в БД. И затем вы синхронизируете список запретов IIS из своей БД. –

Смежные вопросы