Лучшие способы скрытия пароля при регистрации

Original author: Anthony Tseng
  • Translation
Скрытие паролей при вводе применяется очень давно, и часто используется в формах регистрации и авторизации. Это позволяет не раскрыть свой пароль посторонним, которые стоят за спиной. Хотя скрытие паролей это хорошая методика, созданная ради безопасности пользователя, но существует вероятность, что она может испортить впечатление пользователя от вашей формы регистрации. Когда пользователи нажимают на кнопку «зарегистрироваться», они ожидают увидеть ненадоедливую, простую форму регистрации. Но то, как вы решили оформить ввод пароля, может разочаровать их во всем сайте.

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

Подходит для авторизации, не подходит для регистрации


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



Однако, причины и последствия скрытия пароля в форме регистрации совсем другие. Скрытие пароля обычно приводит к опечаткам, потому что пользователь не видит, что он набирает, и не может точно определить, где сделал ошибку. Последствия опечатки в пароле при авторизации не настолько серьезны, как при регистрации нового пользователя. Если у пользователя не получилось набрать правильный пароль с первого раза, он просто пробует ввести его еще раз. Если он введет неправильный пароль при регистрации, он не сможет войти в аккаунт, и ему придется сбрасывать свой пароль. Такие ошибки — это не вина пользователя сайта. Это вина дизайнера, который не дал пользователю возможности увидеть, что он ввел в поле пароля.

А что если мы уберем поле с подтверждением пароля?


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



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

Примечание переводчика. Поле для подтверждения введенного пароля уже начали убирать некоторые крупные сайты, пример — twitter.com. Также, для стран СНГ существует еще одна проблема — наличие нескольких раскладок на клавиатуре, в результате чего пользователь может ввести одинаковый пароль два раза не в той раскладке, в которой он предполагает. Так что в данном случае пользы от этого поля еще меньше.

Временный показ пароля уменьшает количество опечаток


Скрытие пароля может добавить пользователю больше проблем, чем пользы. Они скрывают не только пароль, но и опечатки, которые сделал пользователь, из-за чего их сложно заметить и исправить. Безопасность, которую предлагает такое решение, не стоит этого, потому что обычно посетители регистрируются на сайте, находясь одни, когда никто не заглядывает им через плечо. Регистрация выполняется всего один раз, после чего им не придется регистрироваться заново. Отображение пароля простым текстом в этот единственный раз, когда они одни, вероятно, не настолько серьезный риск для их безопасности, как мы привыкли думать. Шансы того, что кто-то подсмотрит пароль практически нулевые, даже если пользователь регистрируется в общественном месте.



Решение всех этих проблем — временно показывать пароль, так что пользователь сможет ввести его быстро и внимательно, например, показывать пароль пару секунд, так что он сможет увидеть, что ввел. Временное отображение пароля снижает количество опечаток и упрощает поиск и исправление ошибок. И пользователю не придется беспокоиться о тех, кто стоит за его спиной, так как пароль скрывается очень быстро, к примеру, показывается всего два последних введенных символа. Любопытным придется запоминать набор (надеемся) случайных знаков за несколько секунд, что практически невозможно сделать. Если мы показываем только последние символы, им придется смотреть на экран более длительный период времени, чтобы увидеть весь пароль.

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

Отображение пароля, когда поле находится в фокусе


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



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

Еще одна возможность — показывать только последние введенные символы, заменяя остальные звездочками, таким образом подтверждая ввод пароля.

Флажок для отображения пароля


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



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

Равновесие между безопасностью и опытом взаимодействия


Обычно рекомендуется следовать общепринятым дизайнерским решениям, но когда такое решение замедляет пользователя, усложняет выполнение задачи или увеличивает вероятность ошибки, оно требует серьезного обдумывания. Безопасность должна быть сбалансирована с опытом взаимодействия. Отдавая слишком большое предпочтение безопасности, вы можете оставить неприятное впечатление от пользования вашим ресурсом. Когда вы найдете «золотую середину», у пользователей не будет проблем с использованием вашего веб-сайта, даже если он не следует общепринятым дизайнерским решениям.
Share post

Similar posts

Comments 41

    +8
    Мне нравится реализация ввода пароля на телефона: буквы на некоторое время видны, а потом заменяются звездочкой.
    • UFO just landed and posted this here
      • UFO just landed and posted this here
          +3
          Можно посмотреть на какие кнопки нажимают, тогда звёздочки до лампочки.
          +3
          О чем вы говорите! Много людей работает с проекторами или телевизорами или презентациями. Показывать там пароль — это просто катастрофа!

          P.S.: благодаря таким «инновациям» я уже знаю пароли половины команды :)
            +4
            Ага, особенно прикольно смотреть на сокрытие пароля на телевизоре, при том, что человек набирает этот пароль на экранной клавиатуре.
            Бред, имхо.
        • UFO just landed and posted this here
            0
            Не могу сказать, что полностью поддерживаю автора этой статьи (кстати, основателя UX Movement), так как он вообще называет скрытие пароля паранойей, но подсматривать его (если это не что-то действительно серьезное и важное) вряд ли кто станет. А сейчас у некоторых каптча, кому-то нужен логин уникальный, кому-то еще что, конечно же «крайне важное» для процветания сайта. Может, хотя бы пароль пусть пользователь введет без лишних проблем?
            • UFO just landed and posted this here
                0
                Насчет первого — слепому, мне кажется, вообще все равно каким шрифтом напечатано что-то, глухой я думаю увидеть сможет, а если у человека плохое зрение — никто не мешает ему надеть очки или подвинуться ближе к монитору. А если подумать о том меньшинстве, у которого нет проблем со зрением, то для них это как раз и делается.
                Второе — если вы регистрируетесь дома и никто за вами не наблюдает, почему бы не поставить эту галочку перед тем, как вводить пароль? А в общественном месте никто и не будет пользоваться этой возможностью.
                • UFO just landed and posted this here
                    0
                    1. Присматриваться придется не всем. На четвертом скриншоте буквы достаточно разборчивы, чтобы прочитать их тому, кто вводит пароль и сидит перед монитором, но неразборчивы с расстояния «за спиной пользователя».
                    2. А как можно перепроверить пароль, скрытый за звездочками в том же Твиттере? Стереть его и набрать заново? Или набрать в другом месте, а потом скопировать в это поле? В этом случае я согласен, что нужно сделать еще одно поле ввода или воспользоваться пунктом 1. И если еще одно поле не спасет от использования неправильной раскладки, то мелкий, серый и неудобный шрифт сразу выявит ошибку.
                    • UFO just landed and posted this here
                        0
                        Согласен.
                        Последний абзац как раз подчеркивает возможность отойти от общепринятой методики, существуют преимущества и недостатки у каждого перечисленного здесь метода, поэтому эту дискуссию можно считать закрытой. Спасибо за ваше мнение!
            0
            Крутая надпись «Oops, that's not the same password as the first one» :)
            Но я бы предпочел простой и короткий «passwords mismatch».
              +5
              Вариант с чекбоксом самый лучший. Пароль надо вводить один раз и его никто не увидит если пользователь сам не покажет.
                –2
                Лучшее на мой взгляд решение — это просто отправлять введенный пароль в емейле-подтверждении о регистрации.

                Преимущества же удобства использования «show my password» очень и очень сомнительны по сравнению с повторным вводом пароля.
                • UFO just landed and posted this here
                    +1
                    Сайты которые мне в письме показывают мой пароль сразу попадают в чёрный список, это же отсутствие безопасности. Мало того что пароли они хранят в открытом виде, так ещё если кто-то зайдёт на мою почту сможет узнать все мои пароли.
                      +2
                      А с чего вы взяли, что когда сайт отсылает пароль на почту (при регистрации), он его хранит в открытом виде?
                        –1
                        Пароль хранится в открытом виде как минимум при отправке письма, уже это вызывает недоверие к сайту.
                          +2
                          Простите, что? А ничего, что он в открытом виде на сервер приходит от пользователя? Вы не совсем понимаете, о чем говорите.

                          Все просто: получаем пароль при регистрации — отправляем пароль письмом — хешируем и сохраняем пароль. Где тут изъян в безопасности? Отправка письма идет шифрованным протоколом. Если кто-то имеет доступ к почте пользователя, он и так может пароль сбросить.

                          Высылать пароль — один из лучших вариантов. По крайней мере, имеет право на существование.
                            0
                            Изъян в том что мой пароль в открытом виде лежит у меня на почте. А так согласен с вами, возможно в открытом виде он используется только на стадии хэширования и отправки письма.
                              –2
                              Так в чем проблема? Если к вашей почте еще кто-то имеет доступ — он и так сможет пароль восстановить.
                                0
                                Получив доступ к почте можно только изменить пароль с других сайтов, но не узнать текущий, это важное отличие (если конечно сайт не предлагает выслать пароль на почту). А когда мне на почту приходит письмо с моим паролем злоумышленник моментально получает доступ ко всем сайтам где я этот пароль использовал (даже с другой почты). Понятно что это юзер должен беспокоиться о своих паролях, но высылать пароль на почту это значит не заботиться о безопасности пользователя.
                                Да и к тому же зачем пользователю ещё раз видеть свой пароль даже если он его неправильно ввёл? В крайнем случае пароль всегда можно поменять через почту или секретный вопрос.
                                • UFO just landed and posted this here
                                  0
                                  А в чём проблема удалить его? Это же один клик, как и checkbox. Но сделать это можно в любой момент после регистрации.
                            +2
                            Чорт! Сайт, с которого я качал софт по лицензии MSDNAA прислал мне пароль в письме открытым!
                            Кстати, если бы он этого не сделал, то я не смог бы им пользоваться вовсе, ибо голова на пароли дырявая.
                            Аналогично, с благодарностью принимаю пароли в открытом виде от рутрекера.
                            Может все-таки не все ресурсы настолько секретные и важные, чтобы усложнять жизнь своим пользователям?
                              0
                              Ресурсы может быть и не секретные, а вот ваш пароль по-важнее будет :)
                              В вашем случае подошёл бы сгенерированный сайтом пароль, его и запоминать не надо, да и потерять не страшно если вы на сайт всего один раз зашли чтобы что-то скачать.
                          +2
                          OAuth решает вопрос с паролем :)
                            +2
                            В Windows 8 клево сделали.
                            При нажатии на иконку — показывается пароль.
                            image
                              0
                              Точнее при удерживании зажатой левой клавиши мыши. Если клавишу отпустить, то пароль вновь станет скрытым.
                                0
                                Удивился, что в комментах выше никто этого не показал. Актуально с чекбоксом рисовать справа от инпут-поля закрытый глаз при вводе, как на картинке выше. При нажатии на него глаз открывается и пользователь может увидеть набранный пасс.

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

                                  Мне импонирует следующий подход (агрегирующий многие практики):
                                  — для регистрации запрашивается только e-mail (или ник+емейл), на который высылается «условно-временный» «условно-сложный» пароль
                                  — в этом же письме напоминание и прямая ссылка на профиль или иную страницу на которой можно сменить пароль
                                  — если в системе есть внутренняя почта или уведомления — туда продублировать напоминание о необходимости сменить пароль (можно с задержкой в 1 день).
                                  — [опционально] сразу авторизовать пользователя в системе под зарегистрированным именем (емейлом), (можно с ограниченными правами, пока не подтвердит свой емейл.
                                  — [опционально] доступ по временному паролю можно ограничить например 1 днем (далее, если не сменил — процедура восстановления пароля).
                                  — [опционально] после входа по временному паролю не пускать далее пока не сменит временный пароль

                                  Процедура валидации емейла (и получения статуса полноценно зарегистрированного) разниться в зависимости от реализации:
                                  — если пользователя не пускать сразу в систему, то валидацией будет первый вход по временному паролю
                                  — если пользователя пускать в систему сразу, то валидацией будет смена временного пароля на «постоянный»

                                  Процедура восстановления пароля стандартная — письмом ссылка на страницу где можно установить новый пароль.

                                  Плюсы здесь следующие:
                                  — пользователь заполняет 1 поле
                                  — пользователь сразу после ввода емейла попадает в систему (в зависимости от реализации)
                                  — интуитивная (скрытая) валидация емейла (см. выше)

                                  Минусы:
                                  — (в зависимости от реализации) пользователь не может войти в систему не имея доступа к почтовому ящику. Но это условное ограничение, т.к. он все равно, как правило, ничего не может сделать в системе без подтверждения е-мейла кликом по «ссылке из письма».

                                  Если вы видите другие плюсы и минусы — комментируйте.
                                    +1
                                    Мое имхо.
                                    1. Для несекурных сайтов — авторизация только через соцсети.
                                    2. Для секурных пароль только генерится автоматически, никаких «придумайте и введите». При этом есть «надежный» канал связи (СМС, звонок на робота, физическая почта, визит ножками в офис или к банкомату и т.п.), через который этот автоматический пароль и выдается/заменяется при утере.
                                      +1
                                      А если человек принципиально не регистрируется в соцсетях? (да, такие еще остались...)
                                        0
                                        Ну так проще 1 раз завести бесплатное мыло на гугле/яндексе и заходить с ним на все остальные сайты.
                                          0
                                          Согласен, бесплатный имейл на том же гугле в принципе подойдет, даже реальные данные можно не вводить, просто перед этим вы упомянули соцсети, а вот с ними некоторые не очень хотят связываться (тому же ВК нужен номер телефона).
                                        0
                                        1. Есть такие сервисы, как SuperGenPass, где можно без опаски пользоваться одним паролем для всех сайтов.
                                        2. Проблема может быть в том, что придется хранить этот пароль где-то, а это будет либо SMS в телефоне, украли телефон, украли и ваш секьюрный пароль; бумажка, которая конечно же лежит у монитора.

                                        Я сторонник того, что не нужно за пользователя думать, пусть он беспокоится о своей безопасности. А то доходит до того, что в форме онлайн-банкинга мне запрещают использовать функцию браузера автоподстановки пароля (хотя пароль уже сохранен, но не дают им воспользоваться, не знаю даже как такое можно сделать), в итоге приходится его набирать либо с бумажки либо через буфер обмена тащить в форму, очень секьюрно получается, ага.
                                          +1
                                          Да, с паролем сбер отжог адски.
                                          Но там в любом случае на каждую операцию кроме просмотра нужен еще и одноразовый пароль.
                                          В любом случае от терморектального криптоанализа спасения пока не придумали.

                                      Only users with full accounts can post comments. Log in, please.