Как я могу «истечь» изменения пароля уникального кода в записи базы данных? - PullRequest
0 голосов
/ 16 апреля 2010

Я хочу реализовать функцию забытого пароля в моем веб-приложении на Java. Я хочу реализовать это так:

  1. Пользователь вводит адрес электронной почты своей учетной записи и нажимает кнопку «забыл пароль»
  2. Приложение генерирует уникальный код символов и цифр и отправляет ссылку с этим в качестве параметра на адрес электронной почты пользователя
  3. Пользователь нажимает на ссылку, и ему предоставляется форма, где он может ввести свой новый пароль

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

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

Ответы [ 2 ]

3 голосов
/ 16 апреля 2010

Добавьте столбец ValidUntil в таблицу, содержащую код, и проверьте его перед тем, как позволить пользователю сменить пароль.

0 голосов
/ 16 апреля 2010

Вы сохраняете в базе данных дату создания уникального кода. Когда пользователь нажимает на ссылку, если она превышает допустимое время с момента создания уникального кода, вы не позволяете ему сменить пароль.

...