Comme la plupart des autocomplete
suggestions, y compris la réponse acceptée, ne fonctionnent pas dans les navigateurs web d'aujourd'hui (gestionnaires de mot de passe du navigateur web -à- dire ignorer autocomplete
), une solution plus originale est d'échanger entre password
ettext
types et faire correspondre la couleur de fond la couleur du texte lorsque le champ est un champ de texte brut, qui continue de masquer le mot de passe tout en étant un véritable champ de mot de passe lorsque l'utilisateur (ou un programme comme KeePass) entre un mot de passe. Les navigateurs ne demandent pas d'enregistrer les mots de passe stockés dans des champs de texte brut.
L'avantage de cette approche est qu'elle permet une amélioration progressive et ne nécessite donc pas Javascript pour qu'un champ fonctionne comme un champ de mot de passe normal (vous pouvez également commencer par un champ de texte brut à la place et appliquer la même approche, mais ce n'est pas vraiment HIPAA Conforme PHI / PII). Cette approche ne dépend pas non plus de formulaires / champs cachés qui ne sont pas nécessairement envoyés au serveur (car ils sont masqués) et certaines de ces astuces ne fonctionnent pas non plus dans plusieurs navigateurs modernes.
Plugin jQuery:
https://github.com/cubiclesoft/php-flexforms-modules/blob/master/password-manager/jquery.stoppasswordmanager.js
Code source pertinent à partir du lien ci-dessus:
(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));
Démo:
https://barebonescms.com/demos/admin_pack/admin.php
Cliquez sur "Ajouter une entrée" dans le menu, puis faites défiler vers le bas de la page jusqu'à "Module: Stop Password Manager".
Avertissement: Bien que cette approche fonctionne pour les personnes voyantes, il peut y avoir des problèmes avec le logiciel de lecture d'écran. Par exemple, un lecteur d'écran peut lire à haute voix le mot de passe de l'utilisateur car il voit un champ de texte en clair. L'utilisation du plug-in ci-dessus peut également entraîner d'autres conséquences imprévues. La modification de la fonctionnalité de navigateur Web intégrée doit être effectuée avec parcimonie en testant une grande variété de conditions et de cas marginaux.