Злоупотребление функцией Forgot_password

Согласно

я ужесточил правила, так что в худшем случае пользователь сможет получить не более 6 сбросов в день. Это должно в какой-то степени ограничить количество писем.

Также, следуя совету @riking, мы теперь учитываем фильтрованные адреса электронной почты: если администратор заблокирует IP-адрес, этот IP больше не сможет участвовать в этом «празднике».

Одно важное упущение здесь, @riking, которое могло бы немного помочь в самостоятельной борьбе с проблемой, заключается в том, что письмо «Сброс пароля» не содержит IP-адреса лица, инициировавшего запрос:

@codinghorror, что вы думаете о добавлении IP-адреса инициатора в письма для сброса пароля (мы даже можем его немного скрыть)? Это позволит значительно улучшить самостоятельную борьбу с проблемой.

Джейн подвергается атаке
Джейн сообщает администратору сайта, что IP 12.12.12.12 постоянно сбрасывает пароли
Администратор блокирует IP 12.12.12.12

У людей есть доступ ко множеству IP-адресов, поэтому игра в кошки-мышки всё ещё возможна, но хотя бы стало лучше, чем было, и ограничения стали строже.

Facebook использует этот трюк, который я в целом поддерживаю внедрить:

Это позволяет им не включать IP-адреса в письма: они просто отслеживают их на стороне сервера, а ссылка содержит идентификатор в базе данных. Таким образом, блокировка нарушителя может стать операцией в один клик.

Для контекста: Facebook требует электронную почту для сброса пароля (у них даже нет традиционного сброса пароля — это просто вход через электронную почту).

10 лайков