Frage Wie deaktivieren Sie die automatische Vervollständigung des Browsers im Webformularfeld / Eingabefeld?


Wie deaktivierst du? autocomplete in den wichtigsten Browsern für eine bestimmte input (oder form field)


2253
2017-08-05 16:22


Ursprung


Antworten:


Firefox 30 ignoriert autocomplete="off" Bei Passwörtern entscheiden Sie, ob der Benutzer stattdessen angeben soll, ob das Passwort auf dem Client gespeichert werden soll. Beachte das Folgende Kommentar ab 5. Mai 2014:

  • Der Passwortmanager immer fragt, ob ein Passwort gespeichert werden soll. Passwörter werden nicht ohne Erlaubnis des Benutzers gespeichert.
  • Wir sind der dritte Browser, der diese Änderung nach IE und Chrome implementiert.

Gemäß Mozilla-Entwicklerdokumentation das Formularelementattribut autocomplete verhindert, dass Formulardaten in älteren Browsern zwischengespeichert werden.

<input type="text" name="foo" autocomplete="off" />

2212
2017-08-05 16:24



Zusätzlich zu autocomplete=off, Sie könnten auch Ihre Formularfeldernamen nach dem Code, der die Seite generiert, zufügen lassen, vielleicht durch Hinzufügen einer sitzungsspezifischen Zeichenfolge am Ende der Namen.

Wenn das Formular gesendet wird, können Sie dieses Teil vor der Verarbeitung auf der Serverseite entfernen. Dies würde verhindern, dass der Webbrowser den Kontext für Ihr Feld findet, und kann außerdem XSRF-Angriffe verhindern, da ein Angreifer nicht in der Lage wäre, die Feldnamen für eine Formularübermittlung zu erraten.


248
2017-10-20 13:36



Die meisten der wichtigsten Browser und Passwort-Manager (korrekt, IMHO) jetzt ignorieren autocomplete=off.

Warum? Viele Banken und andere "Hochsicherheits" -Websites hinzugefügt autocomplete=off auf ihren Anmeldeseiten "aus Sicherheitsgründen", aber dies verringert die Sicherheit tatsächlich, da es Leute dazu bringt, die Passwörter auf diesen Hochsicherheitsseiten so zu ändern, dass sie leicht zu merken sind (und somit knacken), da die automatische Vervollständigung unterbrochen wurde.

Vor langer Zeit begannen die meisten Passwort-Manager zu ignorieren autocomplete=offund jetzt beginnen die Browser das gleiche für Benutzernamen / Passwort-Eingaben.

Unglücklicherweise fügen Bugs in den Autocomplete-Implementierungen Benutzernamen und / oder Passwort-Informationen in unangemessene Formularfelder ein, was zu Formularüberprüfungsfehlern führt oder schlimmer noch, versehentlich das Einfügen von Nutzernamen in Felder, die vom Benutzer absichtlich leer gelassen wurden.

Was muss ein Webentwickler tun?

  • Wenn Sie alle Passwortfelder auf einer Seite selbst behalten können, ist das ein großartiger Start, da das Vorhandensein eines Passwortfeldes der Hauptauslöser für Benutzer / Pass-Autocomplete zu sein scheint. Ansonsten lesen Sie die folgenden Tipps.
  • Safari stellt fest, dass es zwei Passwortfelder gibt, und deaktiviert die automatische Vervollständigung in diesem Fall, vorausgesetzt, dass es sich um ein Formular zum Ändern des Passworts und nicht um ein Anmeldeformular handelt. Achten Sie also darauf, für alle Formulare, die Sie zulassen, zwei Passwortfelder (neu und bestätigen Sie neu) zu verwenden
  • Chrom 34 wird leider versuchen, Felder mit Benutzer / Pass automatisch zu füllen, wenn es ein Passwortfeld sieht. Dies ist ein ziemlich böser Fehler, der hoffentlich das Safari-Verhalten verändern wird. Wenn Sie dies jedoch oben im Formular hinzufügen, scheint die automatische Kennworteingabe deaktiviert zu sein:

    <input type="text" style="display:none">
    <input type="password" style="display:none">
    

Ich habe IE oder Firefox noch nicht gründlich untersucht, werde aber gerne die Antwort aktualisieren, wenn andere Informationen in den Kommentaren haben.


184
2018-04-23 04:00



Manchmal sogar automatische Vervollständigung = aus würde nicht verhindern zu füllen in Anmeldeinformationen in falsche Felder, aber nicht Benutzer oder Nickname Feld.

Diese Problemumgehung ist zusätzlich zu Apinsteins Beitrag über das Browserverhalten.

Browser-Autofill im schreibgeschützten Modus fixieren und Schreibzugriff auf den Fokus setzen (Klick und Tab)

 <input type="password" readonly  
     onfocus="this.removeAttribute('readonly');"/>

Aktualisieren: Mobile Safari setzt den Cursor in das Feld, zeigt jedoch keine virtuelle Tastatur an. New Fix funktioniert wie zuvor, behandelt aber die virtuelle Tastatur:

<input id="email" readonly type="email" onfocus="if (this.hasAttribute('readonly')) {
    this.removeAttribute('readonly');
    // fix for mobile safari to show virtual keyboard
    this.blur();    this.focus();  }" />

Live-Demo https://jsfiddle.net/danielsueß/n0scguv6/

// UpdateEnd

Weil der Browser die Anmeldeinformationen automatisch in ein falsches Textfeld füllt?

Ich bemerke dieses seltsame Verhalten in Chrome und Safari, wenn sich Passwortfelder in diesem befinden die gleiche Form. Ich denke, der Browser sucht nach einem Passwortfeld, um Ihre gespeicherten Zugangsdaten einzugeben. Dann wird automatisch das nächste textähnliche Eingabefeld ausgefüllt, das vor dem Passwortfeld in DOM erscheint. Da der Browser die letzte Instanz ist und Sie ihn nicht kontrollieren können,

Dieser Read-Only-Fix ​​oben funktioniert für mich.


120
2018-06-16 16:04



<form name="form1" id="form1" method="post" 
      autocomplete="off" action="http://www.example.com/form.cgi">

Dies funktioniert in Internet Explorer und Mozilla FireFox, der Nachteil ist, dass es kein XHTML-Standard ist.


93
2017-08-05 16:27



Die Lösung für Chrome ist hinzuzufügen autocomplete="new-password" zum Eingangstyp Passwort.

Beispiel:

<form name="myForm"" method="post">
<input name="user" type="text" />
<input name="pass" type="password" autocomplete="new-password" />
<input type="submit">
</form>

Chrome wird die Daten immer automatisch vervollständigen, wenn es eine Box von findet Passwort eingeben, gerade genug, um für diese Box anzugeben autocomplete = "new-password".

Das funktioniert gut für mich.

Hinweis: Stellen Sie sicher, dass Ihre Änderungen mit F12 wirksam werden. Oftmals speichern Browser die Seite im Cache. Das hat mir den schlechten Eindruck vermittelt, dass es nicht funktioniert hat, aber der Browser hat die Änderungen nicht übernommen.


57
2017-11-24 17:07



Wie andere gesagt haben, ist die Antwort autocomplete="off"

Ich denke jedoch, dass es sich lohnt zu sagen Warum Es ist eine gute Idee, dies in bestimmten Fällen als einige Antworten auf diese und Duplikat Fragen haben vorgeschlagen, dass es besser ist, es nicht auszuschalten.

Das Anhalten von Browsern, die Kreditkartennummern speichern, sollte nicht den Benutzern überlassen werden. Zu viele Benutzer werden nicht einmal merken, dass es ein Problem ist.

Es ist besonders wichtig, es auf Felder für Kreditkarten-Sicherheitscodes zu deaktivieren. Wie diese Seite Zustände:

"Bewahren Sie den Sicherheitscode niemals auf ... sein Wert hängt von der Annahme ab, dass der einzige Weg, ihn zu liefern, darin besteht, ihn von der physischen Kreditkarte zu lesen und zu beweisen, dass die Person, die ihn liefert, die Karte tatsächlich besitzt."

Das Problem ist, wenn es sich um einen öffentlichen Computer (Internetcafe, Bibliothek usw.) handelt, ist es für andere Benutzer leicht, Ihre Kartendetails zu stehlen, und sogar auf Ihrer eigenen Maschine könnte eine bösartige Website stehlen Autocomplete-Daten.


53
2018-01-23 21:21



Ich müsste betteln, um mit diesen Antworten zu unterscheiden, die sagen, um die automatische Vervollständigung zu verhindern.

Als Erstes wird angezeigt, dass die automatische Vervollständigung in Anmeldeformularfeldern nicht explizit deaktiviert wird, wenn ein PCI-DSS-Fehler auftritt. Wenn eine lokale Maschine eines Benutzers kompromittiert wird, können außerdem automatisch vervollständigte Daten von einem Angreifer leicht erlangt werden, da sie im Clear gespeichert werden.

Es gibt sicherlich ein Argument für die Benutzerfreundlichkeit, aber es gibt ein sehr gutes Gleichgewicht, wenn es darum geht, welche Formularfelder Autovervollständigung deaktiviert haben sollten und welche nicht.


29
2017-09-17 00:33