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

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

В первом и втором случае проблем с восстановлением пароля нет. Он просто извлекается из базы, при необходимости дешифруется и отправляется пользователю.

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

В результате, чтобы восстановить возможность работать с сайтом надо:
1) Зайти на сайт, заполнить форму восстановления пароля, отправить ее.
2) Зайти в ящик, открыть письмо, нажать на ссылку.
3) Зайти в ящик, скопировать пароль.
4) Зайти на сайт, ввести пароль, перейти на страницу смены пароля, сменить пароль на привычный.

Можно ли облегчить эту операцию? Да, на сто процентов да.

После запроса на постановление пароля пользователю приходит уникальная ссылка для временного входа, которая действительна в течении определенного времени, например 4-х часов. Пройдя по ней пользователь автоматически авторизуется на сайте и оказывается на странице смены пароля где его и благополучно меняет на привычный.

Количество действий сократилось в два раз раз. Одно заполнение формы, одна проверка почты, один переход по ссылке.

P.S. Этот пост хотел написать очень давно, с месяца полтора. Все никак не доходили руки, но недавно начал разбираться в Drupal и увидел там именно такое решение. И это меня сподвигло, ведь делает же кто-то правильно, а не как вошло в привычку у большинства.

Теги: , , ,

Еще по теме

Posted on мая 22, 2007 
Filed Under Проектирование и разработка сайтов

Комментарии

Всего комментариев: 5

  1. kibik - мая 22, 2007 11:42

    Всегда казалось, что на всех хороших сайтах так и сделано ;)

  2. Денис Болтиков - мая 22, 2007 11:48

    Не на всех) Далеко не на всех.

  3. kibik - мая 22, 2007 23:32

    Ключевое слово — «хороших» ;)

  4. Michael de`OZ - мая 23, 2007 22:20

    менеджер паролей в Firefox рулит — что бы я без него делал!

  5. morti.ru - мая 24, 2007 14:33

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

    меня вот например больше интересует грамотно оформленная авторизация, точнее якоря указывающие на то что юзер авторизирован

Комментарии закрыты.

Тема Vertigo Blue Theme от Brian Gardner.
Движок WordPress.

Рейтинг блогов