Essayer d'empêcher le navigateur de stocker des mots de passe n'est pas recommandé. Il existe des solutions de contournement qui peuvent le faire, mais les navigateurs modernes ne fournissent pas cette fonctionnalité par défaut et pour de bonnes raisons. Les navigateurs modernes stockent les mots de passe dans des gestionnaires de mots de passe afin de permettre aux utilisateurs d'utiliser des mots de passe plus forts qu'ils ne le feraient normalement.
Comme expliqué par MDN: Comment désactiver l'autocomplétion de formulaire:
Les navigateurs modernes implémentent une gestion intégrée des mots de passe : lorsque l'utilisateur entre un nom d'utilisateur et un mot de passe pour un site, le navigateur propose de le retenir pour l'utilisateur. Lorsque l'utilisateur visite à nouveau le site, le navigateur pré-remplit les champs de connexion avec les valeurs mémorisées.
De plus, le navigateur permet à l'utilisateur de choisir un mot de passe principal que le navigateur utilisera pour chiffrer les détails de connexion stockés.
Même sans mot de passe principal, la gestion des mots de passe dans le navigateur est généralement considérée comme un gain net pour la sécurité. Comme les utilisateurs n'ont pas à se souvenir des mots de passe que le navigateur stocke pour eux, ils peuvent choisir des mots de passe plus forts qu'ils ne le feraient autrement.
Pour cette raison, de nombreux navigateurs modernes ne prennent pas en charge autocomplete="off"
pour les champs de connexion:
-
Si un site définit autocomplete="off"
pour un formulaire, et que le formulaire comprend des champs de saisie de nom d'utilisateur et de mot de passe, alors le navigateur proposera toujours de retenir cette connexion, et si l'utilisateur accepte, le navigateur pré-remplira ces champs la prochaine fois que l'utilisateur visitera la page.
-
Si un site définit autocomplete="off"
pour les champs de saisie de nom d'utilisateur et de mot de passe, alors le navigateur proposera toujours de retenir cette connexion, et si l'utilisateur accepte, le navigateur pré-remplira ces champs la prochaine fois que l'utilisateur visitera la page.
C'est le comportement dans Firefox (depuis la version 38), Google Chrome (depuis la version 34) et Internet Explorer (depuis la version 11).
Si un auteur souhaite empêcher le pré-remplissage des champs de mot de passe dans les pages de gestion des utilisateurs où un utilisateur peut spécifier un nouveau mot de passe pour quelqu'un d'autre que lui-même, autocomplete="new-password"
doit être spécifié, bien que la prise en charge de cela n'ait pas encore été implémentée dans tous les navigateurs.
1 votes
J'ai une situation similaire - une application web interne avec une zone réservée aux techniciens de support où le mot de passe débloque des fonctionnalités non sécurisées de l'application. Permettre à l'utilisateur final d'y accéder serait très nuisible, donc oui, il y a des situations valides où vous ne voulez pas que les mots de passe soient enregistrés. Toujours à la recherche d'une réponse qui fonctionne, au fait.
0 votes
Un cas d'utilisation est lorsque les utilisateurs partagent un ordinateur, mais ont besoin de se connecter individuellement à une application web.
0 votes
Ma solution est un peu bidouillage, mais j'ai utilisé du JS pour vider le champ.
2 votes
Je ne recommande vraiment pas aux gens de faire cela en 2020 à moins d'avoir une situation très spéciale. Cela rend la sécurité moins bonne. Les utilisateurs devraient utiliser un mot de passe unique pour chaque service différent qu'ils utilisent. Bien sûr, il n'est pas possible de se souvenir de tant de mots de passe uniques et non liés, donc les utilisateurs doivent utiliser un gestionnaire de mots de passe pour le faire. Tous les grands navigateurs en ont un intégré et il existe de nombreuses options tierces. Mis à part quelques exceptions de cas spéciaux, bloquer les gestionnaires de mots de passe risque très probablement de nuire davantage à votre sécurité que de l'aider.
0 votes
github.com/noppa/sécurité-du-texte
1 votes
@Chris - c'est précisément les 'exceptions de cas spéciaux' pourquoi il devrait vraiment y avoir une bonne façon de le faire. Ces cas rares où l'objectif est de confirmer que l'utilisateur est toujours le même utilisateur, ou quand ils changent de mot de passe et que vous savez (en tant que développeur) que la valeur enregistrée DOIT être fausse.
0 votes
@Morvael pour les utilisateurs suivant les meilleures pratiques et utilisant un gestionnaire de mots de passe, je ne vois pas pourquoi désactiver l'autocomplétion confirmerait qu'ils sont le même utilisateur? Au moins lorsque la demande demande mon mot de passe actuel. Mais je suis totalement d'accord qu'il y a des situations où vous voulez éviter l'autocomplétion, je pense juste qu'elles sont assez rares. Par exemple, lorsque vous changez de mot de passe, vous ne voulez pas que le champ du nouveau mot de passe soit autocomplété avec l'ancien. (mais je pense que si vous définissez simplement le nom du champ d'entrée sur quelque chose comme "new_password", un bon gestionnaire de mots de passe, comme Chrome ou 1P, saura ne pas autocompléter l'ancien mot de passe)