Wie kann ich feststellen, ob meine Website-Besucher LastPass oder andere Passwort-Manager verwenden?

21

Ich möchte sicherstellen, dass die Besucher meiner Website die bestmögliche Erfahrung machen, damit sie LastPass und andere Passwort-Manager verwenden können.

Kann ich feststellen, ob meine Besucher eines dieser Plugins verwenden oder nicht?

cgarvey
quelle
19
Was halten Sie davon, diese Plugins "speziell zu unterstützen" ...? Was braucht Ihrer Meinung nach explizite Unterstützung?
Deceze
1
Die Idee dahinter ist, dass Benutzer gerne Tools zum automatischen Ausfüllen von Formularen verwenden und LastPass darin ziemlich gut ist. Es stört mich, wenn ich eine Website besuche, auf der umfangreiche Formulare ausgefüllt werden müssen, z. B. Websites für Hotelreservierungen, Websites von Fluggesellschaften usw. Der Webentwickler hat nicht geprüft, ob seine Formulare mit LastPass und ähnlichen Tools ausgefüllt werden können. Um fair zu sein, ich habe gerade festgestellt, dass dies in der Frage nicht sofort ersichtlich war, aber Sicherheit war nicht die primäre Motivation für diesen Kommentar.
Cgarvey
Ich denke, in einer idealen Welt möchte ich in der Lage sein, mein Analysetool zu überprüfen und zu sehen, wie viele meiner Besucher Formulare manuell ausgefüllt haben und wie viele davon verwendet werden und welche Browsererweiterungen verwendet werden. Daher die Frage.
Cgarvey

Antworten:

13

Ja.

Benutzer können LastPass als Browser-Plugin installieren. Daher können Sie sich auf clientseitige Skriptsprachen verlassen, um zu überprüfen, ob LastPass installiert ist.

Mit NavigatorPlugins.pluginskönnen Sie beispielsweise ein PluginArrayObjekt abrufen und die in der Anwendung installierten Plugins auflisten:

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

Beachten Sie auch, dass das, wonach Sie fragen, häufig von Browser-Fingerabdrucktechnologien implementiert und verwendet wird .

Billal Begueradj
quelle
Nun, ich werde es immer vorziehen, Dinge zu sagen, die Sie nicht gesagt haben - sonst wäre alles, was ich sage, überflüssig, nicht wahr? ;) Trotzdem, als Sie die Dinge, auf die ich mich bezog, weggeschnitten haben, sind meine Kommentare umstritten (oder zumindest hängen sie jetzt in der Luft herum)
Hagen von Eitzen
1
Funktioniert überhaupt nicht: /
Mardzis
@ Mardzis In der Tat. MDN berichtet , dass Browser - Zugriff beschränken navigator.pluginsoder Rückkehr gefälschte Ergebnisse zu schützen Privatsphäre: developer.mozilla.org/en-US/docs/Web/API/NavigatorPlugins/...
Dai
46

Kann ich feststellen, ob meine Besucher eines dieser Plugins verwenden und wie ich es am besten unterstützen kann?

Die mit Abstand beste Methode zur Unterstützung von Passwort-Managern besteht darin, normale <form>Tags und eine normale Form zu verwenden. Wenn Sie nichts Schlaues tun, erledigt der Passwort-Manager seine Aufgabe.

dotancohen
quelle
8
So fügen Sie dies hinzu: Testen Sie mit dem im Browser integrierten Passwort-Manager. Wenn dies funktioniert, funktionieren höchstwahrscheinlich auch Lösungen von Drittanbietern.
Kevin
6
Ich stimme zu, aber ich habe festgestellt, dass immer mehr Websites eckige und andere Frameworks mit extrem komplizierten Formularen verwenden, die mit LastPass nicht funktionieren. Ironischerweise neigen diese Websites dazu, diejenigen zu sein, die Benutzer wirklich verwenden möchten, um Formulare automatisch
auszufüllen,
1
Beachten Sie, dass einige Passwortmanager das Drücken von Tasten simulieren, anstatt ein Plugin im Browser zu installieren. Es ist also nicht unbedingt der Fall, dass der Kennwortmanager auch funktioniert, wenn der integrierte Kennwortmanager funktioniert. In diesen Fällen sollten Sie normalerweise sicherstellen, dass die Registerkartennavigation ordnungsgemäß funktioniert.
Lie Ryan
3

Die meisten dieser Passwortmanager basieren auf Browser-Plugins und füllen die Formularfelder aus und lösen eine Formularübermittlung aus, als hätte der Benutzer die Schaltfläche zum Übermitteln gedrückt. Dem Server wird dies als normale Formularübermittlung angezeigt Passwortmanager.

Chris Rutherfurd
quelle
2

Sie können Javascript verwenden, um die Eingabegeschwindigkeit in den Feldern Benutzername / Passwort zu ermitteln. Eine variable Rate weist darauf hin, dass jemand sie manuell eingibt, während eine konstante Rate oder gar keine Tastenanschläge (Kopieren-Einfügen) bedeuten, dass jemand einen Passwort-Manager verwendet.

André Borie
quelle
Wenn ich also LastPass habe, das Anmeldefeld jedoch nicht erkennen kann und ich es manuell eingebe, habe ich dann kein LastPass?
Stephan Bijzitter
Einige Passwortmanager kopieren Pasten, andere simulieren Tastendrücke, und es gibt auch solche, die in das DOM gelangen und das Formular direkt ausfüllen. Einige Benutzer geben möglicherweise auch ihr Kennwort in den Editor ein und kopieren dann die Pasten, damit sie im Kennwortfeld sehen können, was sie eingeben. Es ist nicht so einfach, Passwortmanager zu erkennen.
Lie Ryan
2

Um die eigentliche Frage zu beantworten, können Sie feststellen, ob Benutzer Lastpass verwenden, indem Sie eine Art Anmeldefeld bereitstellen und jQuery oder ähnliches verwenden, um zu prüfen, ob Lastpass das "Hintergrundbild" in die Anmeldefelder eingefügt hat, die automatisch ausgefüllt werden können.

Hier ist ein Beispiel für ein E-Mail-Eingabefeld, alle Elemente im Style-Tag wurden von Lastpass hinzugefügt:

<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">

Dies ist möglicherweise nicht die effektivste Methode, um festzustellen, ob ein Benutzer Lastpass verwendet, aber es funktioniert auf jeden Fall :)

Keith M
quelle
2
Lieben Sie das Denken hinter dieser Lösung, aber wird nicht davon ausgegangen, dass mindestens ein Feld in einem Formular von LastPass ausgefüllt werden kann? Die Website, die ich besuchte und die mich dazu aufforderte, diese Frage zu stellen, verwendete ein Angular-Formular und LastPass konnte kein einziges Feld darin identifizieren. Ein Randfall, um sicher zu sein, aber nicht der letzte, den ich sehe, denke ich.
Cgarvey