Я использую Symfony2 и FOSUserBundle.Symfony2: получение «имени пользователя» после неудачной попытки входа в систему
Я хочу предотвратить атаки грубой силы на странице входа.
Для этого я создал слушателя на событие:
AuthenticationEvents::AUTHENTICATION_FAILURE
Помимо IP я хотел бы получить также «имя пользователя», что пользователь прошел при попытке войти. Таким образом, я могу получить пользователя, которого хакер пытается взломать. Также учитывая, что один и тот же IP-адрес может принадлежать нескольким пользователям, я могу таким образом различать, если я получу 5 попыток за секунду, если я действительно сталкиваюсь с атакой или просто есть 5 пользователей, которые примерно в то же время не могут аутентифицироваться (но, может быть, «позади» этого адреса есть 150 пользователей, так что это может произойти;)).
Есть ли способ получить имя пользователя в форме?
Конечно, после регистрации IP, имени пользователя и временной метки мне нужно реализовать часть, где я добавляю подозрительный IP-адрес в таблицу черного списка. Тогда мне нужно будет решить, следует ли реализовать Voter или запретить IP-адрес моего приложения, которое напишет файл конфигурации Apache.
Спасибо!
Я перед тем же вопрос, так как вы являетесь одним из первых результатов в Google, не могли бы вы немного разобраться в своем решении? – BastienSander
Там вы ходите @BastienSander;) –