Comment savoir si les visiteurs de mon site Web utilisent LastPass ou d'autres gestionnaires de mots de passe?

21

Je veux m'assurer que les visiteurs de mon site Web ont la meilleure expérience possible, donc je veux qu'ils puissent utiliser LastPass et d'autres gestionnaires de mots de passe.

Existe-t-il un moyen d'identifier si mes visiteurs utilisent ou non l'un de ces plugins?

cgarvey
la source
19
Quelle est votre idée sur le "support spécifique" de ces plugins ...? Selon vous, qu'est-ce qui nécessite un soutien explicite?
décompose le
1
L'idée derrière cela est que les utilisateurs aiment utiliser les outils de saisie semi-automatique des formulaires et LastPass est plutôt bon dans ce domaine. Cela me dérange lorsque je visite un site Web nécessitant un remplissage de formulaire important, par exemple, des sites Web de réservation d'hôtel, des sites Web de compagnies aériennes, etc. Pour être juste, je viens de réaliser que ce n'était pas immédiatement apparent dans la question, mais la sécurité n'était pas la motivation principale derrière ce commentaire.
cgarvey
Je pense que dans un monde idéal, j'aimerais pouvoir vérifier mon outil d'analyse et voir combien de mes visiteurs ont rempli les formulaires manuellement, et combien utilisés et extension de navigateur. D'où la question.
cgarvey

Réponses:

13

Oui.

Les utilisateurs peuvent installer LastPass en tant que plugin de navigateur. Ainsi, vous pouvez compter sur les langages de script côté client pour vérifier si LastPass est installé.

Par exemple, l'utilisation NavigatorPlugins.pluginsvous permet d'obtenir un PluginArrayobjet, en listant les plugins installés dans l'application:

function getLastPassVersion() {
  var lastpass = navigator.plugins['LastPass'];
  if (lastpass === undefined) {
    // LastPass is not present
    return undefined;
  }
  return lastpass.version;
}

Notez également que ce que vous demandez est généralement implémenté et utilisé par les technologies d' empreinte digitale du navigateur .

Billal Begueradj
la source
Eh bien, je préfère toujours dire des choses que vous n'avez pas dites - sinon tout ce que je dirais serait redondant, non? ;) Néanmoins, comme vous avez modifié les choses auxquelles je faisais référence, mes commentaires sont devenus sans objet (ou du moins ils se balancent maintenant dans les airs)
Hagen von Eitzen
1
Ne fonctionne pas du tout: /
Mardzis
@Mardzis En effet. MDN signale que le navigateur restreint l'accès navigator.pluginsou renvoie des faux résultats pour protéger la confidentialité: developer.mozilla.org/en-US/docs/Web/API/NavigatorPlugins/…
Dai
46

Existe-t-il un moyen d'identifier si mes visiteurs utilisent ou non l'un de ces plugins et comment le soutenir au mieux?

La meilleure façon de prendre en charge les gestionnaires de mots de passe est de loin d'utiliser des <form>balises normales et un formulaire normal. Si vous ne faites rien d'intelligent, le gestionnaire de mots de passe fera son travail.

dotancohen
la source
8
Pour ajouter à cela: Testez avec le gestionnaire de mots de passe intégré du navigateur. Si cela fonctionne, il est fort probable que les solutions tierces fonctionnent également.
Kevin
6
Je suis d'accord, mais j'ai remarqué un nombre croissant de sites Web utilisant des cadres angulaires et autres avec des formes extrêmement compliquées qui ne fonctionnent pas avec LastPass. Ironiquement, ces sites Web ont tendance à être ceux que les utilisateurs veulent vraiment utiliser des outils de saisie semi-automatique avec par exemple des réservations de compagnies aériennes, etc.
cgarvey
1
Notez que certains gestionnaires de mots de passe simulent les pressions sur les touches plutôt que d'installer un plugin dans le navigateur. Il n'est donc pas nécessairement vrai que si le gestionnaire de mots de passe intégré fonctionne, le gestionnaire de mots de passe fonctionnerait également. Dans ces cas, vous devez généralement vous assurer que la navigation par onglet fonctionne correctement.
Lie Ryan
3

La plupart de ces gestionnaires de mots de passe sont basés sur un plugin de navigateur et fonctionnent en remplissant les champs du formulaire et en déclenchant une soumission de formulaire comme si l'utilisateur appuyait sur le bouton d'envoi, pour le serveur, il apparaît comme une soumission de formulaire normale, aucun moyen de savoir s'il provient d'un gestionnaire de mots de passe.

Chris Rutherfurd
la source
2

Vous pouvez utiliser Javascript pour détecter la vitesse de frappe dans les champs nom d'utilisateur / mot de passe. Un taux variable suggère que quelqu'un le saisit manuellement tandis qu'un taux constant ou même pas de touches du tout (copier-coller) signifie que quelqu'un utilise un gestionnaire de mots de passe.

André Borie
la source
Donc, si j'ai LastPass, mais qu'il ne peut pas détecter le champ de connexion et que je tape manuellement, n'ai-je pas LastPass?
Stephan Bijzitter
Certains gestionnaires de mots de passe copient les pâtes, d'autres simulent des pressions de touches, et il y a aussi ceux qui pénètrent dans le DOM et remplissent le formulaire directement. De plus, certains utilisateurs peuvent taper leur mot de passe dans le bloc-notes, puis copier des pâtes, afin qu'ils puissent voir ce qu'ils tapent dans le champ du mot de passe. Ce n'est pas si simple de détecter les gestionnaires de mots de passe.
Lie Ryan
2

Pour répondre à la question réelle, une façon de détecter si les utilisateurs utilisent Lastpass est de fournir un certain type de champ de connexion et d'utiliser jQuery ou similaire pour voir si Lastpass a inséré "l'image d'arrière-plan" qu'il insère dans les champs de connexion qu'il peut remplir automatiquement.

Voici un exemple de champ de saisie de courrier électronique, tous les éléments de la balise de style ont été ajoutés par Lastpass:

<input type="text" class="form-control" id="inputEmail" placeholder="Email" style="cursor: pointer; background-image: url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAAXNSR0IArs4c6QAAAPhJREFUOBHlU70KgzAQPlMhEvoQTg6OPoOjT+JWOnRqkUKHgqWP4OQbOPokTk6OTkVULNSLVc62oJmbIdzd95NcuGjX2/3YVI/Ts+t0WLE2ut5xsQ0O+90F6UxFjAI8qNcEGONia08e6MNONYwCS7EQAizLmtGUDEzTBNd1fxsYhjEBnHPQNG3KKTYV34F8ec/zwHEciOMYyrIE3/ehKAqIoggo9inGXKmFXwbyBkmSQJqmUNe15IRhCG3byphitm1/eUzDM4qR0TTNjEixGdAnSi3keS5vSk2UDKqqgizLqB4YzvassiKhGtZ/jDMtLOnHz7TE+yf8BaDZXA509yeBAAAAAElFTkSuQmCC&quot;); background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%; background-repeat: no-repeat;" autocomplete="off">

Ce n'est peut-être pas le moyen le plus efficace de détecter si un utilisateur utilise Lastpass, mais cela fonctionne certainement :)

Keith M
la source
2
Vous aimez la réflexion derrière cette solution, mais cela ne suppose-t-il pas qu'au moins un champ d'un formulaire peut être rempli par LastPass? Le site Web que j'ai visité qui m'a incité à poser cette question utilisait un formulaire angulaire et LastPass n'a pas pu identifier un seul champ dessus. Un cas de bord pour être sûr mais pas le dernier que je verrai je pense.
cgarvey