У меня есть ASP.NET, который позволяет пользователям сбрасывать пароли.Безопасность сброса пароля в приложении ASP.NET
Процесс
- Пользователь нажимает на ссылку сброса по электронной почте. Ссылка содержит токен безопасности.
- Пользователь попадает на страницу 1 вопросов и ответов на вопросы безопасности
- Если вопросы вернутся, перейдите на страницу 2 и сбросьте пароли.
Все данные надежно хранятся в базе данных и т.д. Моя основная проблемой является взаимодействием страницы 1 и 2, и обеспечить, чтобы люди не могут перейти непосредственно к странице 2, чтобы изменить свой пароль.
Для защиты от этого я планирую.
- Всегда проверяйте ссылающаяся страница страница 1, когда на странице 2 и подпрыгивать, если его не
- Поместите маркер безопасности, который приходит в ссылку по электронной почте в сессии на странице 1 и только позволяют использовать страницу 2, если это все еще в сеансе.
- У вас низкий тайм-аут сеанса, поэтому у вас есть время для ввода пароля. Также можно записать в базу данных время, которое они заполнили. 1.
Мой вопрос. Это хитрый план, или кто-нибудь может увидеть недостаток в нем?
Хорошо, хорошо и легко. – Greg