Лучшая практика для сброса пароля в ASP.NET MVC

Я хочу имитировать процесс сброса пароля с www.live.com. То есть (пока пропустите вариант электронной почты):

1) Экран с запросом / подтверждением имени пользователя

2) Спросите метод сброса (подтверждение учетной записи или сброс адреса электронной почты)

3) Соберите информацию об аккаунте и проверьте ее

4) Подарите пользователю входы для сброса пароля.

Так что я искал какие-нибудь советы, как это сделать правильно. Я планировал возвращать каждый «шаг» к одному и тому же действию и строить модель по мере продвижения (помещая свойства / поля в скрытые входы или обычные входные данные в зависимости от шага, на котором я был). Затем на шаге 4 я повторно проверил информацию об учетной записи (на случай, если кто-то попытается взломать и опубликовать прямую ссылку с именем пользователя и новым паролем).

Все это будет делаться через SSL, и единственный недостаток, который я вижу, заключается в том, что на шаге 4 я буду отображать ответ на секретный вопрос пользователя в скрытом вводе, чтобы его можно было снова отправить / проверить до завершения сброса пароля.

Это правильный способ реализовать этот экран или есть какие-то дыры в безопасности, которых я не вижу?


person Terry    schedule 25.06.2010    source источник


Ответы (1)


Я не эксперт в этом, но мне нравится идея в этом связанном вопрос. Используйте хэш для идентификации пользователя на шаге 4 вместо того, чтобы отправлять секретный ответ в оба конца.

person Ryan    schedule 25.06.2010