Задать вопрос

Как подсчитывать количество попыток ввода пароля?

Стоит обычная задача ограничения попыток ввода пароля для конкретного индивида (самописный движок на PHP/MySQL): не более трёх за полчаса.
Вопрос: где хранить счётчик попыток?
На форумах везде предлагают сессию, но ведь удалить сессионные куки и завести новую сессию для бота - проще простого, ведь так? Как же быть в таком случае? Идентифицировать IP? Но, опять же, тогда надо где-то хранить счётчик - где?
  • Вопрос задан
  • 3733 просмотра
Подписаться Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
akubintsev
@akubintsev
Опытный backend разработчик
Ну да, по сперва вам надо идентифицировать клиента как-то. IP само собой + id сессии или user-agent. Полностью гарантировать однозначную идентификацию у вас никак не выйдет.
Дальше делаете таблицу вида id-соединения (можно и несколько столбцов завести для выборки), last_access_time, count. Сверяетесь с ней при аутентификации. Пишите заодно и cron-сервис для подчистки устаревших записей.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
gbg
@gbg
Любые ответы на любые вопросы
Рекомендую использовать fail2ban. Идею интеграции можно почерпнуть например, здесь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽