Лучшие практики для сброса пароля в ASP.NET MVC - PullRequest
3 голосов
/ 26 июня 2010

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

1) Экран, запрашивающий / подтверждающий имя пользователя

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

3)Соберите информацию об учетной записи и проверьте ее

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

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

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

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

1 Ответ

2 голосов
/ 26 июня 2010

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

...