Я склонен соглашаться с большинством других комментариев:
, На что я действительно хотел указать, то, что необходимо быть очень осторожны относительно принуждения "сильных" паролей, поскольку это часто означает, что они будут просто записаны на постэтом на столе / приложенные к монитору. Кроме того, некоторые политики паролей приводят к [еще 1113] предсказуемые пароли. Например:
, Если пароль не может быть никаким предыдущим используемым паролем и должен включать число, существует хороший шанс, что это будет любой общий пароль с порядковым номером после него. Если необходимо изменять пароль каждые 6 месяцев, и человек был там двумя годами, возможности являются своим паролем, что-то как password4.
Говорят, что Вы ограничиваете его еще больше: должны быть по крайней мере 8 символов, не может иметь никаких последовательных букв, должен иметь букву, число и специальный символ (это - политика действительного пароля, которую многие считали бы безопасным). Попытка ворваться в учетную запись John Quincy Smith? Знайте, что он родился 6-го марта? Существует хороший шанс, его пароль - что-то как jqs0306! (или возможно jqs0306 ~ ).
Теперь, я не говорю, что разрешение Вашим пользователям иметь пароль пароля является хорошей идеей также, просто не разыгрывайте себя, думая, что Ваши принудительные "безопасные" пароли безопасны.
Используйте быструю хеш-таблицу на основе памяти, например memcached . Ключи будут целью, которую вы ограничиваете (например, IP-адрес), а срок действия каждого сохраненного значения должен быть максимальным временем ограничения.
Значения, сохраненные для каждого ключа, будут содержать сериализованный список последних N попыток, которые они сделали. выполнение действия, а также время для каждой попытки.
Мы обнаружили, что Token Bucket - лучший алгоритм для такого рода ограничения скорости. Он широко используется в маршрутизаторах / коммутаторах, поэтому наши операторы лучше знакомы с этой концепцией.
Вы считаете эту страницу интересной для чтения:
http://www.codeproject.com/KB / aspnet / 10ASPNetPerformance. aspx
Раздел, на который следует обратить внимание, начинается следующим образом:
Предотвращение атак типа «отказ в обслуживании» (DOS)
Веб-службы являются наиболее привлекательной целью для хакеров, потому что даже дошкольный хакер может вывести из строя сервер многократно вызывая веб-службу, которая выполняет дорогостоящую работу.
РЕДАКТИРОВАТЬ: Аналогичный вопрос здесь:
Лучший способ реализовать регулирование запросов в ASP.NET MVC?