Мое веб-приложение содержит страницу редактирования профиля, где пользователи могут изменить свой адрес электронной почты, пароль и т. д. Поле пароля представляет собой HTML-тип «пароль», поэтому оно автоматически маскирует свое содержимое маркерами. Пароли сохраняются в базе данных в виде хэшей, поэтому я не загружаю в поле фактический пароль, а просто загружаю строку «********», которая отображается в виде восьми маркеров. Затем, когда форма отправлена, я проверяю отправленное значение, сохраняя новый пароль, если он отличается от «********».
Проблема в том, что пользователи часто отправляют справочные билеты, говоря, что их пароль не сохраняется правильно, потому что они ввели пароль длиной 6 или 10 или любой другой длины, но когда они возвращаются на страницу редактирования профиля, появляются 8 точек. Итак, веб-сайт ведет себя так, как задумано, но я устал объяснять это пользователям и пытаюсь придумать, как показать точное количество точек в поле.
Единственное, что я могу придумать, это сохранить длину пароля вместе с хешированным паролем всякий раз, когда я сохраняю пароль, а затем использовать эту длину, чтобы показать правильное количество точек. Но это было бы менее безопасно, потому что это показало бы хакеру, какова длина каждого пароля.
Другой вариант — просто загрузить поле пароля пустым, и, надеюсь, пользователей это не смутит. Или я мог бы представить эту опцию как форму «изменить пароль», чтобы указать, что форма не пытается загрузить сохраненный пароль.
Но сначала я хотел бы знать, есть ли трюк, чтобы точно показать эти точки?
<input type="password" placeholder="New password" />
встречается довольно часто. Он исчезнет в тот момент, когда пользователь начнет вводить свой пароль, и отличается от фактического значения элемента тем, что обычно имеет более светлый цвет. - person Blender   schedule 08.03.2018