it-swarm.com.de

Wie kann ich Chrome deaktivieren, um den Benutzernamen und das E-Mail-Passwort automatisch auszufüllen?

Ich weiß, dass es viele Male auf SO geantwortet wurde, aber das ist für ältere Versionen von Chrome.

Ich habe Chrome Version 53.0.2785.143.

Ich möchte Chrome deaktivieren, um die Kennwortfelder automatisch auszufüllen.

Ich habe alle Methoden aus älteren SO -Antworten ausprobiert. 

Methode 1:

Versucht mit falschen Benutzernamen-Passwörtern.

<input style="display:none" type="text" name="fakeusernameremembered"/>
<input style="display:none" type="password" name="fakepasswordremembered"/>

Methode 2:

Versucht mit autocomplete='new-password' und autocomplete='false' und autocomplete='off'

Aber nichts davon funktioniert.

13
Umair

Versuch das display:none 

<input type="text" name="prevent_autofill" id="prevent_autofill" value="" style="display:none;" />
<input type="password" name="password_fake" id="password_fake" value="" style="display:none;" />
<input type="password" name="password" id="password" value="" />

Sie können auch jQuery verwenden, um dieses Problem zu lösen. Ich hoffe, Ihnen wird geholfen. Wenn nicht, setzen Sie bitte einen Kommentar hier. Viel Glück :)

Update:

Dies ist abhängig von der Chrome-Version. Manchmal wird dies für Chrome-Versionen nicht funktionieren. Daher sollten Sie viele Vorkehrungen treffen, um dieses Problem zu vermeiden. Probieren Sie auch diese Code-Schnipsel aus.

Lösung 2

$('form[autocomplete="off"] input, input[autocomplete="off"]').each(function () {

                var input = this;
                var name = $(input).attr('name');
                var id = $(input).attr('id');

                $(input).removeAttr('name');
                $(input).removeAttr('id');

                setTimeout(function () {
                    $(input).attr('name', name);
                    $(input).attr('id', id);
                }, 1);
            });

Es entfernt "name" - und "id" -Attribute aus Elementen und weist sie nach 1 ms wieder zu. Legen Sie dies in Dokument bereit.

Lösung 3

<input type="text" name="email">
<input type="password" name="password" autocomplete="new-password">

Getestet und funktioniert in Chrome 53 

Lösung 4

versuche autocomplete="false" anstelle von autocomplete="off" oder nofill

13
Sachith
  1. Fügen Sie ein Autocomplete-Attribut mit dem Wert Benutzername für Benutzernamen hinzu.
  2. Wenn Sie einen Anmeldefluss "E-Mail an erster Stelle" implementiert haben, der den Benutzernamen und das Kennwort in zwei separate Formulare unterteilt, fügen Sie ein Formularfeld mit dem Benutzernamen in das Formular ein, das zum Abrufen des Kennworts verwendet wird. Sie können dieses Feld natürlich über CSS ausblenden, wenn dies für Ihr Layout angemessen ist.
  3. Fügen Sie ein Autocomplete-Attribut mit dem Wert current-password für das Kennwortfeld in einem Anmeldeformular hinzu.
  4. Fügen Sie bei Anmelde- und Änderungskennwort-Formularen ein Autocomplete-Attribut mit dem Wert new-password für das Passwortfeld hinzu.
  5. Wenn der Benutzer während der Anmeldung oder der Kennwortaktualisierung zweimal sein Kennwort eingeben muss, fügen Sie das Attribut "Neues Kennwort" für das automatische Vervollständigen der Felder in beide Felder ein.

    <input type="text" autocomplete="username">
    <input type="password" autocomplete="current-password">
    
2

Chrome füllt ein Kennwort nur dann automatisch, wenn die Eingabe type="password" lautet. Andernfalls besteht die Gefahr, dass das Kennwort des Benutzers im Klartext angezeigt wird. Verwenden Sie also type="text" für das Eingabefeld und ändern Sie das type-Attribut in "password", wenn sich der Benutzer auf die Eingabe konzentriert.

Passwortfeld:

<input type="text" class="form-control" placeholder="Password"
    onfocus="this.setAttribute('type', 'password')" />

Vollständiges Beispiel: (Unter Verwendung von Bootstrap 3-Klassen und Font Awesome-Symbolen)

<form>
    <div class="form-group">
        <input type="text" class="form-control" placeholder="Email Address" />
    </div>
    <div class="form-group">
        <input type="text" class="form-control" placeholder="Password" 
            onfocus="this.setAttribute('type', 'password')" />
    </div>
    <div class="text-xs-center">
        <button type="submit" class="btn btn-primary" style="width: 100%;">
            <i class="fa fa-lock" style="padding-right: 10px;"></i> LOG IN
        </button>
    </div>
</form>
1
Kurtis Welch

Für mich ab dem 22/02/2019 habe ich diese ausprobiert, aber keine funktionierende Lösung gefunden. Ich habe es mit visibility, display, autocomplete versucht und es scheint nicht zu funktionieren. Möglicherweise fehlt mir etwas, da ich die Material-Benutzeroberfläche verwende.

Bei mir haben zwei Lösungen funktioniert. Dies ist JSX Code, den Sie mit der nativen HTML-CSS-Syntax verwenden können

1) mit Deckkraft und Position

 <input type="email" style={{opacity:"0", position:"absolute"}}/>
 <input type="password" style={{opacity:"0", position:"absolute"}}/>

2) mit Z-Index und Position

<input type="email" style={{zIndex:":-100", position:"absolute"}}/>
<input type="password" style={{zIndex:"-100", position:"absolute"}}/>

Ich hoffe, das spart jemandem Zeit.

0
Anand Singh

Laut Mozilla-Dokument hindert die automatische Vervollständigung in den meisten modernen Browsern einen Kennwortmanager nicht daran, den Benutzer zu fragen, ob er Benutzername- und Kennwortinformationen speichern möchte, oder diese Werte automatisch in das Anmeldeformular einer Site einzutragen.

du musst benutzen

autocomplete = "new-password"

Wenn Sie ein neues Konto erstellen oder Kennwörter ändern, sollte dies für ein Feld "Geben Sie Ihr neues Kennwort ein" oder "Bestätigen Sie das neue Kennwort" verwendet werden, im Gegensatz zu einem allgemeinen Feld "Geben Sie Ihr aktuelles Kennwort ein", das möglicherweise vorhanden ist. Dies kann vom Browser verwendet werden, um zu verhindern, dass versehentlich ein vorhandenes Kennwort eingegeben wird, und um Unterstützung bei der Erstellung eines sicheren Kennworts zu bieten

Sie können alle Autocomplete-Werte sehen hier als Referenz und zum besseren Verständnis.

0
RAGINROSE

Verwenden Sie das jQuery disableAutoFill-Plugin

$('#login-form').disableAutoFill();

Dokument: https://github.com/terrylinooo/jquery.disableAutoFill

Demo: https://terrylinooo.github.io/jquery.disableAutoFill/

0
Terry Lin

Eine mögliche Lösung für dieses Problem könnte darin bestehen, den Eingabetyp zunächst auf "Text" festzulegen und dann einen Ereignis-Listener für die Eingabe hinzuzufügen, der den Typ auf "Kennwort" aktualisiert, sobald das Feld bearbeitet wird. Auf diese Weise können Sie alle Funktionen einer Passworteingabe beibehalten und hoffentlich alle automatischen Passworteingaben/-manager umgehen. So etwas wie:

HTML

<input type='text' class='my-input' />

JS

const input = document.querySelector('.my-input');

input.addEventListener('keydown', () => {
    input.setAttribute('type', 'password');
});
0
wesleysmyth

In einem Szenario, in dem der Administrator die E-Mail/das Passwort des Benutzers ändern möchte, ersetzt das automatische Ausfüllen die E-Mail des Benutzers durch das Passwort des Administrators und das ausgefüllte Admin. 

Was für mich funktionierte, war, die Felder (E-Mail, Passwort ...) zu deaktivieren und sie mit tiemout eine Sekunde zu aktivieren, nachdem die Seite geladen wurde. Auf diese Weise stehen sie dem Benutzer zur Verfügung, nachdem der Browser sie automatisch ignoriert hat. 

Das Risiko ist, dass etwas die Js durchbricht und sie nicht verfügbar sind.

Wenn Ihr Server-Teil nicht viel von den Namen der Eingaben abhängt, würde ich nur empfehlen, sie zu ändern, um sie von den im Anmeldeformular verwendeten zu unterscheiden - sie werden nicht automatisch gefüllt (es sei denn, Sie fordern dies ausdrücklich an).  

Ansonsten hier der Beispielcode:

 <input id="email" type="email" name="email" value="[email protected]" disabled>
    <input id="password" type="password" name="password" disabled>

    <script>
    $(document).ready(function(){
         setTimeout(
            function(){
                $('#myform input[diabled]').removeAttr('disabled');
            }, 1000);
    );
    </script>
0
Ivan Pavlov