Da die meisten autocomplete
Vorschläge, einschließlich der akzeptierten Antwort, in den heutigen Webbrowsern nicht funktionieren (dh Webbrowser-Passwortmanager ignorieren autocomplete
), besteht eine neuere Lösung darin, zwischen password
und text
Typen zu wechseln und die Hintergrundfarbe mit der Textfarbe im Feld abzustimmen ist ein einfaches Textfeld, das das Kennwort weiterhin verbirgt, während es ein echtes Kennwortfeld ist, wenn der Benutzer (oder ein Programm wie KeePass) ein Kennwort eingibt. Browser fordern nicht zum Speichern von Passwörtern auf, die in Klartextfeldern gespeichert sind.
Der Vorteil dieses Ansatzes besteht darin, dass eine schrittweise Verbesserung möglich ist und daher kein Javascript erforderlich ist, damit ein Feld als normales Kennwortfeld fungiert (Sie können stattdessen auch mit einem einfachen Textfeld beginnen und denselben Ansatz anwenden, dies ist jedoch nicht wirklich HIPAA PHI / PII-konform). Dieser Ansatz hängt auch nicht von versteckten Formularen / Feldern ab, die möglicherweise nicht unbedingt an den Server gesendet werden (weil sie versteckt sind), und einige dieser Tricks funktionieren auch in mehreren modernen Browsern nicht.
jQuery-Plugin:
https://github.com/cubiclesoft/php-flexforms-modules/blob/master/password-manager/jquery.stoppasswordmanager.js
Relevanter Quellcode über den obigen Link:
(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));
Demo:
https://barebonescms.com/demos/admin_pack/admin.php
Klicken Sie im Menü auf "Eintrag hinzufügen" und scrollen Sie zum Ende der Seite zu "Modul: Kennwort-Manager stoppen".
Haftungsausschluss: Während dieser Ansatz für sehende Personen funktioniert, kann es zu Problemen mit der Bildschirmlese-Software kommen. Beispielsweise kann ein Bildschirmleser das Kennwort des Benutzers laut vorlesen, da ein einfaches Textfeld angezeigt wird. Die Verwendung des oben genannten Plugins kann auch andere unvorhergesehene Folgen haben. Das Ändern der integrierten Webbrowser-Funktionalität sollte sparsam erfolgen, indem eine Vielzahl von Bedingungen und Randfällen getestet werden.