Как безопасно реализовать сброс пароля на сайте

Собственно сабж. Мне необходимо реализовать у себя на сайте функцию сброса пароля.
Раньше никогда это делать не приходилось, поэтому хочу у Вас узнать как сделать правильно с точки зрения безопасности.
P.S: Или если это расписывать очень долго, то подкиньте пожалуйста какие-нибудь статьи на этот счет. Наверняка тема уже избита.
  • Вопрос задан
  • 8144 просмотра
Решения вопроса 1
Shiz
@Shiz
Менеджер, программист, прототипировщик
Рекомендую такой вариант:
1. Пользователь запрашивает восстановление пароля
2. Шлём ему на почту письмо со специальной ссылкой, содержащей токен
3. Пользователь переходит по ссылке из письма
4. Сверяем токен, после чего авторизуем его и даем задать новый пароль
5. Сохраняем хеш пароля в БД

Тонкости:
— Токен — достаточно длинная строка из случайных символов
— У токена должен быть срок действия, например 1 час. Это обезопасит систему от перебора токенов
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@himik
1. пользователь вводит мыло, вы отправляете туда ссылку со сгенереным токеном
2. после перехода по ссылке из мыла или даете ввести новый пароль, или опять таки шлете на мыло заново сгенерированный пароль
Ответ написан
Комментировать
@lubezniy
На случай недоступности мыла не помешает реализовать отправку SMS на телефон и ввод полученного кода на сайте. Но это уже посложнее.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы