Poiché la maggior parte dei autocomplete
suggerimenti, inclusa la risposta accettata, non funziona nei browser Web di oggi (ovvero i gestori delle password del browser Web ignorano autocomplete
), una soluzione più innovativa consiste nello scambiare tra password
e text
tipi e fare in modo che il colore di sfondo corrisponda al colore del testo quando il campo è un campo di testo semplice, che continua a nascondere la password pur essendo un vero campo password quando l'utente (o un programma come KeePass) sta inserendo una password. I browser non chiedono di salvare le password memorizzate in campi di testo normale.
Il vantaggio di questo approccio è che consente un miglioramento progressivo e quindi non richiede Javascript per un campo per funzionare come un normale campo password (potresti anche iniziare con un campo di testo semplice e applicare lo stesso approccio ma non è proprio HIPAA PHI / PII-compliant). Né questo approccio dipende da moduli / campi nascosti che potrebbero non essere necessariamente inviati al server (perché sono nascosti) e alcuni di questi trucchi non funzionano neanche in molti browser moderni.
Plugin jQuery:
https://github.com/cubiclesoft/php-flexforms-modules/blob/master/password-manager/jquery.stoppasswordmanager.js
Codice sorgente pertinente dal link sopra:
(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
Fai clic su "Aggiungi voce" nel menu, quindi scorri fino alla fine della pagina fino a "Modulo: Stop Password Manager".
Dichiarazione di non responsabilità: mentre questo approccio funziona per le persone vedenti, potrebbero esserci problemi con il software dello screen reader. Ad esempio, uno screen reader potrebbe leggere ad alta voce la password dell'utente perché vede un campo di testo semplice. Potrebbero esserci anche altre conseguenze impreviste nell'uso del plugin sopra. La modifica della funzionalità del browser Web integrata deve essere eseguita con parsimonia testando un'ampia varietà di condizioni e casi limite.