Кросс-браузерные методы для отключения кеширования паролей - PullRequest
12 голосов
/ 26 декабря 2008

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

Акцент здесь делается на кросс-браузер, поэтому при необходимости я бы использовал несколько параллельных механизмов.

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

И наоборот, существуют ли браузеры / версии, в которых реализовано кэширование паролей без какой-либо функции отключения?

Ответы [ 5 ]

12 голосов
/ 26 декабря 2008

Добавьте autocomplete="off" к вашим <input> элементам. Работает во всех современных браузерах IIRC.

1 голос
/ 26 декабря 2008

Я полагаю, что браузеры сохраняют поля формы при ее отправке. Что если вы использовали AJAX, чтобы получить значение поля пароля, отправить его, а затем очистить поле? Форма никогда не будет отправлена, поэтому теоретически браузер никогда не сможет сохранить значения.

0 голосов
/ 16 января 2016

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

<!-- Username label and text here> ... <--!>
<input type="password" id='txtPasswordDud' style='display: none;' />
<!-- Actual Password label and text here> ... <--!>
0 голосов
/ 26 декабря 2008

AFAIK, маскированные поля (те, которые показывают '*' вместо введенного вами символа) никогда не сохраняются для автозаполнения. Вы хотите запретить пользователю запоминать пароль на вашем сайте в средствах сохранения пароля браузера?

0 голосов
/ 26 декабря 2008

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

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

Тот же метод хорошо работает против спама, так как большинство ботов полагаются на поиск общих имен полей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...