Так як більшість з 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
Натисніть "Додати запис" у меню, а потім прокрутіть донизу сторінки "Модуль: Зупинка менеджера паролів".
Відмова від відповідальності: Хоча такий підхід працює для людей, які бачать видимість, з програмним забезпеченням для читання екранів можуть виникнути проблеми. Наприклад, зчитувач екрана може прочитати пароль користувача вголос, оскільки він бачить звичайне текстове поле. Можуть бути й інші непередбачені наслідки використання вищевказаного плагіна. Змінення вбудованої функціональності веб-браузера повинно здійснюватися скупо, перевіряючи широкий спектр умов та кращих випадків.