Отключить функцию браузера «Сохранить пароль» - PullRequest
410 голосов
/ 28 августа 2008

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

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

Вопрос : Есть ли у сайта способ запретить браузеру запоминать пароли? Я давно занимаюсь веб-разработкой, но не знаю, сталкивался ли я с этим раньше.

Любая помощь приветствуется.

Ответы [ 33 ]

0 голосов
/ 06 февраля 2013

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

0 голосов
/ 05 марта 2018

Поскольку большинство autocomplete предложений, включая принятый ответ, не работают в современных веб-браузерах (т. Е. Менеджеры паролей веб-браузера игнорируют autocomplete), более новым решением является переключение между password и text вводит и делает цвет фона соответствующим цвету текста, когда поле представляет собой текстовое поле, которое продолжает скрывать пароль, будучи полем реального пароля, когда пользователь (или программа, подобная KeePass) вводит пароль. Браузеры не просят сохранять пароли, которые хранятся в текстовых полях.

Преимущество этого подхода заключается в том, что он допускает постепенное улучшение и, следовательно, не требует Javascript для поля, функционирующего как поле обычного пароля (вы также можете начать с простого текстового поля и применить тот же подход, но это не совсем HIPAA PHI / PII-совместимый). Этот подход также не зависит от скрытых форм / полей, которые необязательно могут быть отправлены на сервер (поскольку они скрыты), и некоторые из этих приемов также не работают в некоторых современных браузерах.

Плагин jQuery:

https://github.com/cubiclesoft/php-flexforms-modules/blob/master/password-manager/jquery.stoppasswordmanager.js

Соответствующий исходный код по ссылке выше:

(function($) {
$.fn.StopPasswordManager = function() {
    return this.each(function() {
        var $this = $(this);

        $this.addClass('no-print');
        $this.attr('data-background-color', $this.css('background-color'));
        $this.css('background-color', $this.css('color'));
        $this.attr('type', 'text');
        $this.attr('autocomplete', 'off');

        $this.focus(function() {
            $this.attr('type', 'password');
            $this.css('background-color', $this.attr('data-background-color'));
        });

        $this.blur(function() {
            $this.css('background-color', $this.css('color'));
            $this.attr('type', 'text');
            $this[0].selectionStart = $this[0].selectionEnd;
        });

        $this.on('keydown', function(e) {
            if (e.keyCode == 13)
            {
                $this.css('background-color', $this.css('color'));
                $this.attr('type', 'text');
                $this[0].selectionStart = $this[0].selectionEnd;
            }
        });
    });
}
}(jQuery));

Демо-версия:

https://barebonescms.com/demos/admin_pack/admin.php

Нажмите «Добавить запись» в меню и затем прокрутите вниз до страницы «Модуль: Остановить менеджер паролей».

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

0 голосов
/ 07 января 2014

я думаю, что если поставить autocomplete = "off", это вообще не поможет

У меня есть альтернативное решение,

<input type="text" name="preventAutoPass" id="preventAutoPass" style="display:none" />

добавьте это перед вводом пароля.

например: <input type="text" name="txtUserName" id="txtUserName" /> <input type="text" name="preventAutoPass" id="preventAutoPass" style="display:none" /> <input type="password" name="txtPass" id="txtPass" autocomplete="off" />

это не мешает браузеру запрашивать и сохранять пароль. но это не позволяет ввести пароль.

развеселить

...