Безопасные способы изменить пароль или дать старый пароль

Что самый безопасный путь состоит в том, чтобы обработать пароли/сбросы пароля, о которых забывают? Действительно ли я должен послать пароль по электронной почте пользователю? Раз так Вы затем вынуждаете их сбросить его? Или Вы позволяете им сразу сбросить его (не посылая электронное письмо) и запросить некоторую другую информацию, чтобы проверить, что это - они? Или есть ли лучший метод?

8
задан Josh Curren 1 March 2010 в 23:23
поделиться

3 ответа

Вы не можете отправить пароль пользователю по электронной почте, потому что вы его не знаете.Вы «хэшировали» его, применив к нему что-то вроде PBKDF2 или bcrypt для хранения, верно?

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

Метод, достаточно безопасный для многих приложений, - это отправить владельцу учетной записи по электронной почте ссылку, содержащую большое, случайно сгенерированное число. Этот токен должен быть действителен только в течение ограниченного времени. Если владелец хочет сбросить свой пароль, он щелкает ссылку, и это подтверждает его подлинность как владельца учетной записи. Затем владелец учетной записи может указать новый пароль.

17
ответ дан 5 December 2019 в 07:34
поделиться

Полагаю, вы собираетесь делать это программно? Или это вопрос о сбое сервера?

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

НЕ отправляйте пароль пользователю

0
ответ дан 5 December 2019 в 07:34
поделиться

Вы не должны отправлять пароли по электронной почте. Вот пошаговый процесс, который я использовал:

  1. Предоставьте пользователям возможность сбросить пароль.
  2. Эта опция сохраняет уникальный токен для пользователя. Срок действия токена истекает (часы, день или дни).
  3. Ссылка отправляется пользователю по электронной почте, которая включает токен.
  4. Пользователь нажимает на ссылку, отправленную по электронной почте.
  5. Если токен существует и срок его действия не истек , ссылка загружает новую форму пароля. Если не , не загружайте форму нового пароля.
  6. Как только пользователь установит новый пароль, удалите токен и отправьте пользователю электронное письмо с подтверждением.

Старый пароль должен оставаться активным до тех пор, пока не будет установлен новый пароль. Не забывайте хешировать и солить пароли!

5
ответ дан 5 December 2019 в 07:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: