«Забыли пароль» - как с этим справиться?


18

Я прочитал этот ответ и нашел комментарий, настаивающий не отправлять пароль по электронной почте:

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

Это поднимает меня вопрос обработки опции Забыли пароль?

Любой ценой необработанный пароль должен отображаться в любом пользовательском интерфейсе, чтобы пользователь мог его прочитать. Так что бы быть способ справиться с "Забыли пароль"


Я потратил 15 минут на объяснение функции забытого пароля в PHPBB.
Питер Тернер

Возможный дубликат процесса сброса пароля
gnat

1
@gnat У тебя была возможность проверить, какой из старейших был самым старым?
Гопи

1
@TechJerk возраст вопросов не имеет значения, как объяснено здесь
комнат

Ответы:


35

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

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

Это предполагает, что у вас есть адрес электронной почты пользователя в файле.


Существуют дополнительные «передовые практики», которые, хотя и не являются критичными (например, не хранить пароли в первую очередь), должны быть в наличии, если позволяет время, включая истечение срока действия временного маркера доступа для определенных событий и с течением времени (так, чтобы чей-то аккаунт не скомпрометирован, если его почтовый ящик есть).
Стивен

7

Вы не должны хранить основной пароль пользователя в виде открытого текста, но вы МОЖЕТЕ хранить временный пароль в виде открытого текста, т.е.

пользователь сбрасывает пароль -> создается временный пароль -> временный пароль отправляется по электронной почте -> пользователь вынужден сменить пароль при следующем входе в систему (возможно, новый пароль не может быть временным паролем)


2
Я сделал это на нескольких сайтах. Хотя вы можете утверждать, что почтовый злоумышленник может получить пароль, он также может получить любой другой временный токен и т. Д., Который вы отправите по электронной почте. Этот подход проще для пользователя (они могут копировать и вставлять или даже вводить временный пароль) и не наносит ущерба безопасности.
Кейт Грегори

Если кто-то не использует безопасный способ подключения к почтовому серверу (то есть веб-почте через HTTPS или POP3 через TLS), такое общение может быть легко перехвачено. В этом случае некоторые "haX0r" могут легко войти в учетную запись другого пользователя. Вот почему это плохая идея. Ссылка для сброса должна быть отправлена, как подсказывает Крис, и должен быть задан соответствующий секретный вопрос, прежде чем пользователь сможет сменить свой пароль. Все еще не на 100% безопасно (как часто можно легко угадать ответы на такие вопросы безопасности), но я не вижу лучшего решения.
Павел Дида

2
@Pawel Dyda Ссылку на сброс можно также прослушать, если ваша электронная почта прослушивается, я думаю, что временный пароль в вашей электронной почте - это наименьшее из ваших беспокойств.
Viper_Sb

Вот почему я написал о секретном вопросе.
Павел Дида

5

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

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


4

Что мне больше всего нравится, так это то, что приложение отправляет электронное письмо пользователю по зарегистрированному адресу электронной почты с одноразовой ссылкой, действующей в течение X часов, которая предоставляет страницу «Изменить пароль».

Затем пользователь может установить пароль по своему усмотрению, не рискуя вставить его в электронное письмо.


4

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

Я спросил немного об этом с точки зрения удобства использования некоторое время назад.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.