Восстановление пароля

Принцип восстановления пароля

Восстановление пароля подразумевает под собой первичную проверку существования пользователя по какому-то признаку, например email или номеру телефона в базе данных. Затем включает генерацию уникального кода подтверждения, отправку этого кода пользователю (например, по электронной почте или через SMS), а затем его проверку. После успешной проверки кода пользователю предоставляется возможность установить новый пароль или вернуть ошибку если код был ошибочным.
Вместо генерации кода, можно генерировать одноразовую ссылку на восстановление пароля. Подробнее о разных методах описано в конце этой страницы.
Все действия восстановления пароля удобнее разделить на 2 ключевых сценария:

Сервисы рассылки

Для отправки кодов или ссылок пользователю по контактным данным подойдут любые сторонние сервисы рассылки. С примерами подходящих сервисов можно ознакомиться на следующих страницах:

О разных методах

Наиболее распространенные методы - восстановление используя временную ссылку и восстановление используя временный код.
В случае генерации уникальной временной ссылки вместо кода, пользователю отправляется ссылка, по которой он может пройти для восстановления пароля.
Генерировать временный код на стороне сценариев поможет формула-генератор случайных чисел random().
Генерировать временную ссылку с страницей поможет принцип создания шаблонной страницы.
💡
Механика срока годности ссылки или кода поможет укрепить безопасность аккаунтов. При попытке изменения пароля со страницы с истекшим сроком годности или по устаревшему коду, изменение пароля можно отклонить. Для учета срока годности при записи новых ссылок и кодов в таблицу необходимо записывать время создания.