Временный пароль необходимо изменить

Когда у пользователя возникают трудности со входом в систему, он вводит свой адрес электронной почты, чтобы восстановить пароль. Мой php отправляет временный пароль (случайный длинный номер, зашифрованный в db). Однако я хочу, чтобы они были перенаправлены на страницу для смены пароля, если он временный.

Как узнать, временный это пароль или нет? Как лучше это сделать + безопасно?

Спасибо


person ryryan    schedule 27.11.2010    source источник


Ответы (2)


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

person Jon    schedule 27.11.2010
comment
Спасибо за вашу помощь! Это довольно прямолинейно, чем я изначально думал! - person ryryan; 27.11.2010

Один очевидный способ сделать это — сохранить его в db, в этом случае вы должны убедиться, что вы очищаете базу данных после того, как пользователь успешно изменит пароль. Другой способ сделать это - отправить пользователю секретную ссылку для сброса пароля вместо отправки по электронной почте пароля, срок действия которого истекает через фиксированный интервал времени (в зависимости от требований и конфиденциальности данных). Другой подход в некоторых случаях является немного более безопасным.

person Teja Kantamneni    schedule 27.11.2010