Страница с забытым паролем, но пароли хешируются - PullRequest
1 голос
/ 08 марта 2011

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

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

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

  • Ссылка содержит новый хэшированный и соленый пароль (как переменная $ _GET), который только для аутентификации.

  • Я просто беру переменную $ _GET из ссылки, аутентифицируюсь на входе в БД, хеширую и вводим новый пароль и вставляю в БД.

Насколько это безопасно? Для сайта, на который нелегко попасть спамерам и злоумышленникам.

Заранее спасибо.

Ответы [ 5 ]

6 голосов
/ 08 марта 2011

Звучит нормально; однако для обеспечения полной безопасности на более часто посещаемом сайте стоит рассмотреть несколько иной метод:

  • Как обычно, пользователь вводит свой адрес электронной почты

  • Заполните второе поле пароля случайным паролем, который вы создаете и отправляете

  • Заполните дополнительный столбец датой и временем создания второго пароля

  • Если пользователь не реагирует (то есть войти в систему с новым паролем) в течение 24 часов, удалите пароль из второго столбца

В электронном письме с новым паролем объясните пользователю, что, если он не запрашивал новый пароль, он может просто проигнорировать его.

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

0 голосов
/ 24 января 2017

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

Организация обращается к клиентам с просьбой проверить их записи на предмет подозрительных перемещений и рассмотреть возможность использования ключа учетной записи Yahoo, основного устройства подтверждения, которое устраняет необходимость использования секретного ключа в Yahoo изнутри и снаружи.Я очень надеюсь, что их точки безопасности помогут пользователям восстановить свою учетную запись по ссылке - https://gallery.technet.microsoft.com/Simple-Tips-to-Secure-your-b53badda

0 голосов
/ 08 марта 2011

Обычно вы просто хотите отправить им необработанный, но случайно сгенерированный новый пароль.Они попадают на страницу сброса и вводят новый пароль.

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

Тогда ваш код сброса в $ _GETсодержит другую случайную строку (не пароль), попросите пользователя ввести сгенерированный вами отправленный пароль и новый пароль (с подтверждением).

0 голосов
/ 08 марта 2011

Пока вы используете хороший алгоритм хеширования (md5 не работает и не должен использоваться в криптографических целях). Используйте sha1, и это звучит примерно как отраслевой стандарт. Я обычно солю и имею случайный пароль и просто отправляю их по ссылке с ними как переменные получения, пользователю не нужно знать новый пароль или копировать / вставлять его.

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

0 голосов
/ 08 марта 2011

Вы экстернализуете безопасность учетной записи своего пользователя для безопасности учетной записи электронной почты, поэтому, если их пароль Yahoo / Hotmail / Gmail равен «пароль», в то время как вы применяете строгие ограничения на пароли, чтобы кто-то мог попасть на ваш сайт, взломавучетная запись электронной почты пользователя.

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

...