191 Stimmen

Stoppen Sie LastPass Formulare ausfüllen

Gibt es einen Weg, um zu verhindern, dass die LastPass Browser-Erweiterung ein HTML-basiertes Formular mit einem Eingabefeld mit dem Namen "Benutzername" ausfüllt?

Dies ist ein verstecktes Feld, daher möchte ich nicht, dass irgendeine Software dieses Feld für ihre Zwecke verwendet:

Die Lösung sollte nicht "benennen Sie das Eingabefeld um" sein.

17voto

mituw16 Punkte 5126

Ich denke, dass LastPass das autocomplete="off"Attribut für Eingaben respektiert, bin mir aber nicht zu 100% sicher.

BEARBEITEN Wie andere bereits angemerkt haben, funktioniert dies nur, wenn der Benutzer LastPass so konfiguriert hat, dass dies respektiert wird.

11voto

Alex Punkte 119

Füge "Suche" zum Eingabe-ID hinzu

11voto

PeteAUK Punkte 928

Ziemlich spät zur Party, aber ich habe gerade das mit der Modifikation des Formulars erreicht:

Ich nehme an, das täuscht LastPass ein, dass es sich um ein Suchformular handelt. Dies funktioniert jedoch nicht für Passwortfelder! LastPass ignoriert das Namensfeld in diesem Fall.

Der einzige Weg, den ich gefunden habe, um dies zu tun, ist, folgendes direkt oben im Formular hinzuzufügen:

    setTimeout(function(){document.getElementById('lp').style.display = 'none'},75);

Es verursacht ein unangenehmes Flackern, entfernt jedoch den Autofill-Unsinn - obwohl das "Passwort generieren" Widget immer noch angezeigt wird. LastPass wartet bis domready und prüft dann, ob sichtbare Passwortfelder vorhanden sind, daher ist es nicht möglich, die Mock-Felder oben zu verstecken oder zu verkleinern.

7voto

ccalvert Punkte 2828

Dieser ES6-Stil-Code war für mich hilfreich, da er data-lpignore zu allen meinen Eingabesteuerelementen hinzugefügt hat:

const elements = document.getElementsByTagName("INPUT");
for (let element of elements) {
    element.setAttribute("data-lpignore", "true");
}

Um auf ein bestimmtes Eingabesteuerelement zuzugreifen, könnte man so etwas schreiben:

document.getElementById('userInput').setAttribute("data-lpignore", "true");

Oder man kann es nach Klassenname machen:

const elements = document.getElementsByClassName('no-last-pass');
for (let element of elements) {
    element.setAttribute("data-lpignore", "true");
}

5voto

Tony Brasunas Punkte 3338

Für diesen neuesten fehlerhaften Release von Lastpass im Oktober 2019 scheint diese einfache Lösung am besten zu sein.

Fügen Sie

type="search"

zu Ihrem Input hinzu.

Die Lastpass-Routine überprüft das type-Attribut, um zu bestimmen, was mit seinem Autofill gemacht werden soll, und es macht auf diesem html5-type von "search" nichts. Diese Lösung ist leicht hacky, aber es handelt sich um eine Änderung in einer Zeile, die problemlos entfernt werden kann, wenn sie ihr fehlerhaftes Skript korrigieren.

Hinweis: Nachdem Sie dies getan haben, könnte Ihr Input von einigen Browsern anders gestylt erscheinen, wenn sie das type-Attribut erkennen. Falls Sie dies bemerken, können Sie dies verhindern, indem Sie die browser-spezifischen CSS-Eigenschaften -webkit-appearance und -moz-appearance auf 'none' für Ihren Input setzen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X