«Забыл пароль» - PullRequest
       26

«Забыл пароль»

5 голосов
/ 10 мая 2011

У меня настроена система «забыл пароль», которая отправляет пользователю электронное письмо со ссылкой для сброса. М вопрос: как я могу предотвратить злоупотребление этой системой? Как я могу убедиться, что люди не используют это для спама в почтовых ящиках, но все еще могут использовать его для людей, которым это нужно?

Ответы [ 5 ]

4 голосов
/ 10 мая 2011

Запросить зарегистрированный адрес электронной почты, а не имя пользователя?Вероятность того, что он будет известен злоумышленнику, гораздо меньше.

В качестве альтернативы, добавьте поле TimeOfLastReset в таблицу пользователей и обновляйте его всякий раз, когда отправляете электронное письмо.Если значение CurrentTime-TimeOfLastReset слишком мало, не отправляйте.

1 голос
/ 10 мая 2011

Когда отправляется электронное письмо для восстановления, запишите время, когда это произошло. Если в течение заданного промежутка времени (15 минут? 6 часов? В день?) Есть еще / слишком много запросов на восстановление, напечатайте сообщение и не отправляйте электронное письмо.

0 голосов
/ 10 мая 2011

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

0 голосов
/ 10 мая 2011

Не думайте, что это действительно может быть использовано спамерами.

Для спаммера автоматическое сообщение (с фиксированным содержанием), отправленное пользователю, бесполезно.

Однако вы можете добавить идентификатор сеанса в скрытое поле и проверить его при отправке. Или добавьте скрытое (disply: none) поле с name="message" и пустым значением в форму. И проверьте, если он все еще пуст в форме отправки.

Позвольте пользователю заполнить свое имя пользователя и адрес электронной почты и проверить его.

0 голосов
/ 10 мая 2011

1) вы должны знать свой адрес электронной почты (а не только имя пользователя) 2) вы можете сбросить пароль только один раз за промежуток времени 3) сброс не работает сразу, вы должны нажать на ссылку в почте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...