Забыли пароль: то, каков лучший метод реализации, забыло функцию пароля?

Пользователь «web2vi» не существует на вашем сервере mysql.

См. http://dev.mysql.com/doc/refman/5.1/en/error-messages-server.html#error_er_no_such_user

Если этот пользователь существует, проверьте, на каких серверах он может получить доступ, хотя я бы подумал, что это будет другая ошибка (например, у вас может быть web2vi @ localhost, но вы получаете доступ к db как web2vi @% (во что угодно)

51
задан Darryl Hein 7 February 2009 в 05:46
поделиться

6 ответов

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

Опция 1 намного легче.

46
ответ дан Gregor Brandt 7 November 2019 в 20:14
поделиться

Я думаю, что вариант 2 (gbrandt) был бы отличным методом, если бы он сочетался с некоторой личной информацией, которая у вас уже есть для пользователя. то есть дата рождения.

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

Только те, кто хорошо его знает, могут раздражать его сбросом пароля! Это не может быть незнакомец или бот.

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

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

Что вы думаете, ребята?

1
ответ дан 7 November 2019 в 10:14
поделиться

Несколько важных проблем безопасности:

  • вопрос о пароле А / ответ на самом деле понижает безопасность, так как это обычно становится самой слабой ссылкой в процессе. Часто легче предположить чей-то ответ, чем это - пароль - особенно, если вопросы тщательно не выбраны.
  • электронные письма Принятия действуют в качестве имени пользователя в Вашей системе (который обычно рекомендуется по ряду причин), ответ на запрос сброса пароля не должен указывать, была ли действительная учетная запись найдена. Это должно просто указать, что электронное письмо запроса пароля было послано обеспеченному адресу. Почему? Ответ, указывающий, что электронное письмо действительно существует, позволяет хакеру получать список учетных записей пользователей путем представления нескольких запросов пароля (обычно через Прокси HTTP как комплект отрыжки) и замечания, найдена ли электронная почта. Защищать от входа в систему, получающего Вас, должно гарантировать, что никакие связанные с входом в систему/автором функции не обеспечивают признака того, когда электронное письмо действительного пользователя было введено в форму сброса входа в систему/передачи.

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

РЕДАКТИРОВАНИЕ : Относительно вопроса в Вашем редактировании - я предложил бы:

"Электронное письмо запроса пароля было послано адресу, который Вы обеспечили. Если электронное письмо не прибывает вскоре, проверьте свою папку для спама. Если никакая электронная почта не прибывает, то никакая учетная запись не существует с электронной почтой, которую Вы предоставили".

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

25
ответ дан Cory House 7 November 2019 в 20:14
поделиться

Пошлите электронное письмо с новым паролем.

ВЫЗЫВАЮТ изменение пароля, когда они прибывают и вводят новый пароль.

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

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

Также отправляют подтверждения изменений пароля пользователям.

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

8
ответ дан Will Hartung 7 November 2019 в 20:14
поделиться

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

2
ответ дан Brock Woolf 7 November 2019 в 20:14
поделиться

Опция 1. не хорошая идея, поскольку обычно его становится легко отгадываемым другими. Персональная электронная почта Sarah Palin's (Yahoo, я думаю) была взломана таким образом третьим лицом.

другие варианты лучше, и предыдущие сообщения обрисовали в общих чертах деталь.

0
ответ дан Jayden 7 November 2019 в 20:14
поделиться
Другие вопросы по тегам:

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