Установка таймера и проверка с помощью javascript/php

Хочу улучшить свой сценарий входа.

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

На этот раз время будет всего 1 секунда, но после 5 попыток увеличится до 5 секунд и так далее.

Цель состоит в том, чтобы предотвратить DDOS и атаки грубой силы.

Однако я буквально понятия не имею, с чего начать. Сценарий входа состоит из php-страницы процесса, а затем проверки с помощью javascript. Сторона javascript также использует возврат JSON, чтобы увидеть ошибки/успехи и т. д.

Любая помощь по простому ограничению входа в систему до одного раза в 1 секунду? Может быть, это проще с PHP?

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


person Lovelock    schedule 16.12.2013    source источник


Ответы (1)


Никогда не доверяйте клиенту. Если вы сделаете это в Javascript, любой потенциальный злоумышленник сможет просто избежать Javascript.

Сделайте это в PHP. Для каждого пользователя сохраните отметку времени последней попытки входа в систему и количество неудачных попыток входа. Когда кто-то пытается войти в систему, просто проверьте это значение. Если количество секунд, прошедших с момента последнего входа в систему, слишком мало для количества сбоев, просто перенаправьте их обратно на страницу входа с сообщением об ошибке.

person Andy Jones    schedule 16.12.2013
comment
Совершенно верно, мне нужно всегда думать таким образом в первую очередь. Я думаю, что создам еще одно поле в таблице пользователей, но у меня также были неправильные входы в мою общую таблицу настроек веб-сайта. Таким образом, в моей панели администратора я могу провести некоторую аналитику и узнать, что является естественным/естественным поведением. - person Lovelock; 17.12.2013