2012-02-06 9 views
0

Можно создать дубликат:
What is the best “forgot my password” method?PHP метод забыл пароль

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

  1. Попроси пользователь для своей электронной почты
  2. Отправьте им ссылку на страницу newpassword.php со случайно сгенерированным длинным буквенно-цифровым кодом в качестве параметра.
  3. хэшировать этот код и хранить его в таблице mysql с адресом электронной почты и меткой времени
  4. Когда пользователь перейдет по ссылке, их снова попросят отправить электронное письмо.
  5. найти таблицу для этого письма. если отметка времени превышает 24 часа, она удаляется, и пользователь должен запросить другую ссылку.
  6. убедитесь, что код соответствует. если да, то пусть пользователь сбросит пароль.
  7. изменить пароль в таблице пользователей и отправить другое письмо, чтобы подтвердить, что оно было изменено.

Я новичок в обеспечении безопасности веб-сайта, но я не нашел много примеров алгоритмов для сброса пользователем забытого пароля (за исключением простого создания нового и отправки его им, что кажется довольно слабым мне). Есть ли недостатки безопасности в моем подходе? Кто-нибудь знает какие-нибудь хорошие руководства, на которые я могу смотреть? Заранее спасибо!

ответ

Смежные вопросы