Я работаю над приложением в ASP.NET и задаюсь вопросом, как я мог бы реализовать функцию Password Reset
, если бы захотел свернуть свой.
В частности, у меня есть следующие вопросы:
- Что такое хороший способ создания уникального идентификатора, который трудно взломать?
- Должен ли быть установлен таймер? Если да, то как долго это должно быть?
- Должен ли я записывать IP-адрес? Это даже имеет значение?
- Какую информацию следует запрашивать на экране "Пароль Reset"? Просто адрес электронной почты? Или, может быть, адрес электронной почты плюс часть информации, которую они "знают"? (Любимая команда, имя щенка и т.д.)
Есть ли какие-либо другие соображения, о которых я должен знать?
NB: Другие вопросы полностью замаскированы технической реализацией. В самом деле, принятый ответ заслоняет детали. Надеюсь, что этот вопрос и последующие ответы войдут в подробности, и я надеюсь, сформулировав этот вопрос гораздо более узко, чтобы ответы были менее "пушистыми" и более "золотыми".
Изменить. Ответы также будут рассмотрены в отношении того, как такая таблица будет смоделирована и обработана в SQL Server, или любые ссылки ASP.NET MVC для ответа будут оценены.