Шаблон, позволяющий пользователю изменить свой пароль. Должен ли пользователь повторить новый пароль, а также ввести старый пароль? - PullRequest
6 голосов
/ 09 июля 2011

Есть много вопросов о восстановлении паролей в SO, но не об изменении паролей, учитывая одно из следующих двух:

1) Пользователь уже аутентифицирован в системе (либо через пользователя / pw, либо через третью часть аутентификации, например, facebook / twitter)
2) Пользователь знает свой старый пароль.

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

Сценарий (пользователь уже прошел проверку подлинности и вошел в систему):
Введите старый пароль: _ __ _ __ _ (1: можно ли от этого избавиться)
Введите новый пароль: _ __ _ __ _
Введите новое снова: _ __ _ __ _ (2: я могу избавиться от этого)

1) Можно ли запретить пользователю вводить свой старый пароль? В этом случае я предполагаю, что пользователь уже аутентифицирован в системе. Кажется излишним, чтобы пользователь повторно вводил пароль. Я понимаю, что это может быть важно для приложений с высокой степенью безопасности (например, банковское дело), ​​где пользователь, оставляющий сеанс без присмотра, может позволить кому-то ввести новый пароль, не зная пароля, который привел их в такие ситуации.

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

2) Это нормально, чтобы пользователь не вводил новый пароль дважды. Это похоже на 90-е годы. Люди привыкли к паролям сейчас, и 5% -ная вероятность того, что они введут свой пароль не так, как они ожидают, не перевешивает время, потраченное на его ввод дважды. В этом 5% -ном сценарии в худшем случае им просто нужно сбросить свой пароль (или просто войти в систему через Facebook / Twitter и сбросить его). Один сайт, который я нашел сейчас, это Quora (хотя они все еще выполняют шаг 1). Я не видел, чтобы многие другие делали то же самое.

Ответы [ 4 ]

6 голосов
/ 09 июля 2011

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

Что касается ввода пароля дважды, это в основном делается для того, чтобы на внутреннем торце вы могли сравнить два пароля и убедиться, чтоони одинаковые.Это сделано для того, чтобы убедиться, что пользователь намеревался ввести пароль в том виде, в котором он введен.Вероятность сделать одну и ту же опечатку дважды подряд маловероятна, и поэтому, если два пароля идентичны, вы вполне можете предположить, что они не опечатки.

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

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

3 голосов
/ 09 июля 2011

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

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

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

2 голосов
/ 09 июля 2011

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

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

2 голосов
/ 09 июля 2011

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

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

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

IMO лучший способ устранить этот мусор имени пользователя / пароля - это сделать то, что сделал SO, и использовать OpenID или другие альтернативные методы аутентификации, например сертификаты X509.

...