it-swarm.com.de

autocomplete = 'off' funktioniert nicht mit Firefox

Ich habe ein Problem mit dem Browser:

Ich habe 2 Anmeldeseiten derselben Domäne erstellt. 

  1. www.example.com/login.cfm
  2. www.example.com/newLogin.cfm

Ich habe den Formularnamen für 2 Formulare auf dieser Seite angegeben. Ich gebe auch autocomplete = 'off' für das zweite Formular und für die Textfelder innerhalb dieses Formulars ein (aber es ist für das erste Formular aktiv).

Wenn ich nun den Benutzernamen und das Kennwort zum Zeitpunkt der Anmeldung von www.testDomain.com/login.cfm im Browser speichere, wird die Liste der Benutzernamen automatisch im Feld "Benutzername" der zweiten Anmeldeseite eingetragen, auch wenn die automatische Vervollständigung deaktiviert ist. Ich muss dies aus Sicherheitsgründen blockieren. Gibt es eine Möglichkeit, dies zu tun? Ich benutze FireFox V21.

17

$("#CVV").on("focusout", function() {
    if ($(this).val() == "") {  
      $(this).attr("type", "text");
    }   
});
<input type="text" name="username" class="input" ID="CVV" onfocus="removeErr('CVV'); $(this).attr('type', 'password');">
36
albert.garipov

Dies ist die sauberste Lösung, die ich gefunden habe, um zu verhindern, dass Firefox automatisch abgeschlossen wird. 

 <!-- The text and password here are to prevent FF from auto filling my login credentials because it ignores autocomplete="off"-->
 <input type="text" style="display:none">
 <input type="password" style="display:none">

Fügen Sie dieses Code-Snip-it über der Eingabe des Typs Kennwort ein.

Soweit ich feststellen kann, sucht Firefox nach einer Eingabe des Typs "Password". Geben Sie das Kennwort ein und fügen Sie den Benutzernamen zur Eingabe des Textes darüber hinzu. Ohne einen Namen oder eine ID werden die Eingaben nicht zum Post hinzugefügt, aber dies ist immer noch ein Hack. 

30
Bob The Janitor

Sie alle sollten dieses Attribut ausprobieren:

<input type="password" autocomplete="new-password" />

Siehe https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion#Preventing_autofilling_with_autocompletenew-password

1
Pascal Prugna

Das funktioniert für mich:

<input type="text" name="username" value=" " onclick="if(this.value == ' ') this.value=''" >

Klicken Sie auf hier für weitere Informationen.

1
zavero.kris

Ich war lange auf dieses Problem gestoßen. Firefox hat die Eingabewerte beibehalten, auch das Seiten-Neuladen. Das Festlegen des autocomplete-Attributs auf off wurde nicht gelöst.

Das Zwischenspeichern von Formularen ist ein wirklich nützlicher Mechanismus für die Benutzererfahrung. In einem kleinen Prozentsatz von Anwendungsfällen, wie dem Übersetzen von Werten von Textboxen oder Texarien in eine andere Sprache, bereitete mir dies Kopfschmerzen.

Um dies zu beheben, setzen Sie einfach das Formular zurück, nachdem die Seite geladen wurde

 $('form').trigger("reset");
0
Cataclysm

https://bugzilla.mozilla.org/show_bug.cgi?id=956906

http://lists.w3.org/Archives/Public/public-webapps/2014JanMar/0015.html

Die automatische Vervollständigung wurde für die Eingabefelder des Kennworttyps deaktiviert. Die obigen Links erwähnen dies jeweils für FireFox und IE, aber ich sehe, dass die Einstellung von Autocomplete für Form ebenfalls deaktiviert ist.

0
user3350272

dank der Idee von albert.garipov habe ich eine Lösung entwickelt, die die Funktionalität des Typs Kennwort nachahmt. Das Passwort wird bei der Eingabe nicht angezeigt

<input type="text" id="password" onkeyup="OnChangePassword()">

function OnChangePassword()
{ 
  if ($("#password").val() == "") {
      $("#password").attr('type', 'text');
  }
  if ($("#password").val() != "") {
      $("#password").attr('type', 'password');
  }
}
0
user7323849

Eine Möglichkeit für Firefox, diese Felder nicht zu finden, besteht darin, ihren Typ vor dem Beitrag in "Verborgen" zu ändern.

Sie können eine jQuery oder ein JavaScript verwenden, um das onclientclick in Ihrer Submit-Schaltfläche festzulegen.

Beispiel: <script type="text/javascript"> function setHidden() { $('.input').prop('type', 'hidden'); } </script>

<input type="text" name="username" class="input">
<input type="password" name="password" class="input" >
<asp:Button ID="ubtnLogin" Text='OK' runat="server" OnClick="btnLogin_Click" OnClientClick='setHidden();' />

Denken Sie daran, den Cache Ihres Browsers vor dem Testen zu löschen oder den privaten Modus (STRG + UMSCHALT + P) zu verwenden.

0
CPJ

Ich habe alles mit Firefox 52 ausprobiert und nichts hat funktioniert. Ich habe es jedoch mit jQuery arbeiten lassen und den Wert durch den ursprünglichen Wert ersetzt, oder:

jQuery(window).load( function () {
    email = jQuery('#auth_user_email');
    email.prop('value', email.attr('value'));
});

wobei in jQuery die Eigenschaft der aktuelle Wert im Dokument ist und attr das Original ist, wenn das Dokument zum ersten Mal abgerufen/geladen wird. Ich habe die load-Funktion verwendet, weil sie nach der ready-Funktion läuft, und ich glaube definitiv, dass nach dem Autocomplete der Eingabewert überschrieben wird. Sie können dasselbe auch mit der Passworteingabe machen.

0
lucas

Ich habe dieses Verhalten auch in letzter Zeit bemerkt - nur Firefox; Es scheint ein Problem mit dem Attribut ' autocomplete = "off" ' zu geben.

Bis vor einem Monat funktionierte es hervorragend - und brach um die Zeit ab Firefox Version 30.0 wurde veröffentlicht.

Funktioniert immer noch gut mit Chrome + IE;

0
yarg

Geben Sie einfach einen zufälligen Wert in Autocomplete ein.

<input autocomplete = "!!1337!!">
0
Taylan

Firefox Version 61 Dies scheint ausreichend zu sein, um die automatische Vervollständigung in Formularen zu deaktivieren:

<input type="password" hidden />

Alle Eingaben nach dieser oben im Formular werden ignoriert.

0
Darko Tasevski
Try this :
<input type="password" style="display:none">
<input type="password" name="password">

Typ muss gleich sein. Das versteckte Passwort wird anstelle der echten Passworteingabe ausgefüllt.

Wenn es sich um ein neues Kennwort handelt (oder zurückgesetzt wird), verwenden Sie autocomplete = "neues Kennwort" anstelle von autocomplete = "off" .

Ich hoffe es hilft.

0
ahammani