Popoff
Куки - это если мы подбираем вручную, через браузер, да? Или я, программируя скрипт подбора пароля, должен также запрограммировать функциональность для запоминания этих кук и последующей отсылки их на сервер?
Если бы вы внимательно читали, то что я писал, то не задавали бы лишних вопросов. Повторю: куки нужны только на случай предотвращения блокировки, т.е. если у пользователя есть кука с секретным словом, (у каждого пользователя свое слово-идентификатор), то блокировка IP на него не распространяется, точнее ему дается еще 10 попыток. Этот вариант я описал ранее.
IP можно банить не только по одиночке, но и по маске.
Согласен.
в случае с блокировкой по логину пользователь может разблокировать свой логин самостоятельно, а в случае с блокировкой по адресу все окажутся со связанными руками.
Нет. Ставим, например, unlock.php, который не проверяет блокировку IP, через который и можно разблокировать аккаунт.
Делаем вирус, рассылаем его всем и устраиваем распределенную атаку, когда с огромного количества разных адресов подбираются пароли к разным логинам.
Как вы себе это представляете? Ведь машина-жертва, где запущен троян имеет свой 1 IP. При 10 неверных заходах она блокируется. Не имеет значения, 1 логин подбирался или более. Далее, предположим, что есть 100`000 разных IP. Заполучить их очень и очень тяжело, но всеже, допустим этот вариант. Только он ничего не принесет взломщику, так как все эти 100000 ip попадут в стоп-лист - если не согласны, пожалуйста, логику скрипта подбора пароля "в студию".
Мой вариант, в случае распределенного подбора паролей - выдержит намного большее кол-во хостов, нежели ваш. А защита от атак DoS и DDoS, я в этом топе не рассматривал вообще - это тема для отдельного топа, да и только средствами PHP её решить нереально. Логика моего мкрипта базируется на утверждении: потенциальному взломщику (а перебор паролей 10 шт в 10 сек явно указывает, что это попытка взлома) доступ на сайт "заказан".
Я выбрал блокировку по логину всего лишь потому, что она немножко надежнее блокировки по адресу
В своем топе, я опроверг ваше утверждение. Блокировка по логину тоже имеет место быть, но только в случае, если 1 и тот-же логин подбирается с разных IP, 10 шт за 10 сек. (не 5000, как я писал ранее.) В случае обнаружении перебора пароля к 1 логину, действие: после входа в систему отобрать у этого пользователя все права, отослать пользователю на почтовый ящик письмо с новым паролем, ссылкой на разблокировку аккаунта и предупреждением, и полный доступ в систему, до разблокировки аккаунта не давать. Выводить вместо ожидаемого контента сообщение, наподобии: "Ваша учетная запись блокирована в связи с подбором пароля для логина "вася". Инструкции по разбл. отправлены на ваш почтовый ящик, указаный вами при регистрации."