Здравствуйте, есть простенькая форма авторизации: PHP: <?php $valid_passwords = array ("admin" => "admin"); $valid_users = array_keys($valid_passwords); $user = $_SERVER['PHP_AUTH_USER']; $pass = $_SERVER['PHP_AUTH_PW']; $validated = (in_array($user, $valid_users)) && ($pass == $valid_passwords[$user]); if (!$validated) { header('WWW-Authenticate: Basic realm="My Realm"'); header('HTTP/1.0 401 Unauthorized'); die ("Not authorized"); } // Тут мы пишем результат echo "Здравствуйте $user.</br>"; echo "Поздравляем, Вы успешно авторизовались.</br><hr>"; ?> Необходимо ограничить кол-во попыток ввода данных до 3-х например, как это можно сделать?
Я что-то сомневаюсь, что с базовой авторизацией это сработает. Насколько помню, при этом при каждом вызове она происходит, просто первый раз браузер спрашивает пароль, а в дальнейшем - всегда его передаёт, так что каждый раз происходит авторизация по новой.
@mkramer А если после 3 не правильных попыток, блокировать вход ну на пол часа, ну или использовать каптчу. Или не поможет?
Ты прочитал то, что я написал? Ты знаешь, что такое "базовая HTTP авторизация"? Какая капча, если у него базовая авторизация? --- Добавлено --- P.S. хотя я тут как и большинство обозвал аутентификацию авторизацией. @Fell-x27 может справедливо негодовать. Слово уж очень сложное "аутентификация". Так что, @_ne_scaju_, гугли "базовая http аутентификация". И это, если в ответе видишь незнакомые слова - их бы неплохо погуглить сначала.
@opiums количество неудачных попыток должно гдето хранится в бд самый оптимальный вариант, если он не устраивает то есть масса костылей: файлы, оперативка, $гет, куки но повторюсь это костыли некоторые причём легко обходимы
Коллеги, не любите внимательно вопрос читать. Не умеет этого делать Auth_base. Как сделать чтобы не городить свой огород? Например, использовав fail2ban (http://www.fail2ban.org/wiki/index.php/Main_Page ). Пишите конфиг, разрешив три попытки ввода, и лочите ip на нужное вам время или навсегда. Всё есть в доке.
Причем тут "прокся"? Речь в теме не шла об обходе авторизации через прокси. Задержка на обработку запроса авторизации/аутентификации в 5-10 секунд, модули на шлюз с прикрытием бесплатных пулов нежелательных адресов и брутафорсь себе на здоровье.
@Zuldek ну ок. вот допустим ситуация,- я держу кул мега соцсеть, у моего провайдера внешний ип серый. и ктото запостил типа пароль от админку "123456" школота ломанулась проверять, а поскольку ип серый то на моём ипшнике сидит парочка школоло. в результате я не смогу зайти в админку чтобы удалить это сообщение. речь в теме много про что не шла, но эти вопросы взаимосвязаны, по хорошему и админка должна находится там куда посторонний не влезет а твой вариант блокирования количества попыток очень подойдёт для соцсети)))
Мне сложно комментировать твои аналогии из разряда "если бы дедушка был бабушкой". Если тебе интересно как это происходит в "кул мега соцсетях" то (не комментирую "Серые апи провайдера") там твой запрос попадает на одну из аппаратных фильтров от циски где попытки всяких "атак с проксей" обычно заканчиваются. Дале запрос падает на один из нескольких балансиров с каким-нибудь haproxy и только потом на один из скажем 20-ти апликейш-серверов. Обновление пулов недоверенных адресов в которые смотрят некоторые фильтры тоже происходит не так как тебе представляется (если об этом шла речь)