Подсчет попыток входа

Я ищу пакет или способ подсчета попыток входа пользователя в систему (я использую FosUserBundle)
Я пробовал CCDN SecurityBundle, но он уже устарел (требуется Symfony 2.4).

Существуют ли другие стабильные пакеты или способы решения моей проблемы?

-1

Решение

Предложение KEK вообще не использует Symfony. Вы могли бы переопределение failure_handler в вашей конфигурации безопасности и создайте сервис, который будет вызываться, затем найдите пользователя и добавьте к его числу неудачных попыток, сохранив его в сеансе или в базе данных напрямую.

Используя этот метод, вы также захотите переопределить обработчик успешных входов в систему, чтобы при успешном входе пользователя вы сбрасывали количество неудачных попыток входа в систему на 0 в сеансе, который вы использовали, или в базе данных.

4

Другие решения

Быстро и просто

Сохраните это в $_SESSION с отметками времени и количеством попыток. Увеличьте количество попыток после каждого неудачного входа в систему и очистите его при успехе.

Немного более безопасный

Создайте таблицу базы данных для login_attempts, Он должен содержать как минимум пару столбцов для идентификации пользователей (например, ip_address а также user_agent или что-нибудь еще, чтобы определить его уникальность) и столбец для количества попыток входа в систему (int).

Каждый раз, когда пользователь пытается войти, увеличивайте amount_login_attempts, После успешного входа в систему сбросьте счетчик на 0.

Sidenotes

  • Временная блокировка пользователя, если количество неудачных попыток превышает X
  • Не откладывать неудачные входы в систему sleep() так как это использует ресурсы сервера
1