457 Stimmen

Deaktivieren Sie die Funktion "Passwort speichern" im Browser

Eine der Freuden der Arbeit für eine staatliche Gesundheitsbehörde ist der Umgang mit der Paranoia im Zusammenhang mit geschützten Gesundheitsinformationen (Protected Health Information, PHI). Verstehen Sie mich nicht falsch, ich bin dafür, alles zu tun, um die persönlichen Daten der Menschen (Gesundheit, Finanzen, Surfgewohnheiten usw.) zu schützen, aber manchmal werden die Leute etwas zu nervös.

Ein typisches Beispiel: Einer unserer staatlichen Kunden hat kürzlich herausgefunden, dass der Browser die praktische Funktion bietet, das Passwort zu speichern. Wir alle wissen, dass es diese Funktion schon seit einiger Zeit gibt, dass sie völlig optional ist und dass es im Ermessen des Endnutzers liegt, ob er sie nutzen möchte oder nicht. Im Moment gibt es jedoch einen kleinen Aufruhr, und wir werden aufgefordert, eine Möglichkeit zu finden, diese Funktion für unsere Website zu deaktivieren.

Question : Gibt es eine Möglichkeit, dem Browser mitzuteilen, dass er sich keine Passwörter merken soll? Ich beschäftige mich schon lange mit Webentwicklung, aber ich weiß nicht, ob ich das schon einmal gesehen habe.

Für jede Hilfe sind wir dankbar.

14voto

venimus Punkte 5718

Der sauberste Weg ist die Verwendung von autocomplete="off" Tag-Attribut, sondern Firefox beachtet es nicht richtig, wenn Sie mit Tab zwischen den Feldern wechseln.

Die einzige Möglichkeit, dies zu verhindern, ist das Hinzufügen eines falschen, versteckten Passwortfeldes, das den Browser dazu bringt, das Passwort dort einzutragen.

<input type="text" id="username" name="username"/>
<input type="password" id="prevent_autofill" autocomplete="off" style="display:none" tabindex="-1" />
<input type="password" id="password" autocomplete="off" name="password"/>

Es ist ein hässlicher Hack, weil Sie das Verhalten des Browsers ändern, was als schlechte Praxis angesehen werden sollte. Verwenden Sie ihn nur, wenn Sie ihn wirklich brauchen.

Hinweis: Dadurch wird das automatische Ausfüllen von Passwörtern effektiv gestoppt, da FF den Wert von #prevent_autofill (das leer ist) und versucht, alle gespeicherten Kennwörter dort einzutragen, da es immer das erste type="password" Eingabe, die es im DOM nach der jeweiligen "Benutzername"-Eingabe findet.

13voto

David Schmitt Punkte 56455

Verwenden Sie echte Zwei-Faktor-Authentifizierung um die alleinige Abhängigkeit von Passwörtern zu vermeiden, die an vielen anderen Orten als dem Browser-Cache des Nutzers gespeichert sein können.

12voto

Asik Punkte 7927

Ich habe das Hinzufügen von autocomplete="off" im Formular-Tag in allen wichtigen Browsern getestet. In der Tat, die meisten Menschen in den USA mit IE8 so weit.

  1. IE8, IE9, IE10, Firefox und Safari funktionieren einwandfrei.

    Der Browser fragt nicht nach "Passwort speichern". Außerdem werden zuvor gespeicherte Benutzernamen und Passwörter nicht übernommen.

  2. Chrome und IE 11 unterstützen die Funktion autocomplete="off" nicht

  3. FF unterstützt autocomplete="off". aber manchmal werden bereits gespeicherte Anmeldeinformationen ausgefüllt werden.

Aktualisiert am 11. Juni 2014

Im Folgenden finden Sie eine browserübergreifende Lösung mit Javascript, die in allen Browsern problemlos funktioniert.

Das "form"-Tag im Anmeldeformular muss entfernt werden. Nach Client-Seite Validierung, setzen Sie diese Anmeldeinformationen in versteckten Form und senden Sie es.

Auch, fügen Sie zwei Methoden. eine für die Validierung "validateLogin()" und eine andere für das Hören Enter-Ereignis während Klick in Textbox/Passwort/Button "checkAndSubmit()". weil jetzt Login-Formular nicht über ein Formular-Tag, so Enter-Ereignis nicht hier arbeiten.

HTML

<form id="HiddenLoginForm" action="" method="post">
<input type="hidden" name="username" id="hidden_username" />
<input type="hidden" name="password" id="hidden_password" />
</form>

Username: <input type="text" name="username" id="username" onKeyPress="return checkAndSubmit(event);" /> 
Password: <input type="text" name="password" id="password" onKeyPress="return checkAndSubmit(event);" /> 
<input type="button" value="submit" onClick="return validateAndLogin();" onKeyPress="return checkAndSubmit(event);" /> 

Javascript

//For validation- you can modify as you like
function validateAndLogin(){
  var username = document.getElementById("username");
  var password = document.getElementById("password");

  if(username  && username.value == ''){
    alert("Please enter username!");
    return false;
  }

  if(password && password.value == ''){
    alert("Please enter password!");
    return false;
  }

  document.getElementById("hidden_username").value = username.value;
  document.getElementById("hidden_password").value = password.value;
  document.getElementById("HiddenLoginForm").submit();
}

//For enter event
function checkAndSubmit(e) {
 if (e.keyCode == 13) {
   validateAndLogin();
 }
}

Viel Glück!!!

8voto

Jason Bunting Punkte 56534

Nicht wirklich - das Einzige, was Sie realistischerweise tun könnten, ist, auf der Website Ratschläge zu erteilen; vielleicht könnten Sie ihnen vor der ersten Anmeldung ein Formular mit Informationen zeigen, die darauf hinweisen, dass es nicht empfehlenswert ist, dem Browser zu erlauben, das Passwort zu speichern.

Dann wird der Benutzer sofort den Rat befolgen, das Passwort auf einen Post-it-Zettel zu schreiben und ihn an den Monitor zu kleben.

6voto

Howard Young Punkte 77

Was ich gemacht habe, ist eine Kombination aus autocomplete="off" und dem Löschen von Passwortfeldern mit einem javascript / jQuery.

jQuery-Beispiel:

$(function() { 
    $('#PasswordEdit').attr("autocomplete", "off");
    setTimeout('$("#PasswordEdit").val("");', 50); 
});

Durch die Verwendung von setTimeout() können Sie warten, bis der Browser das Feld ausgefüllt hat, bevor Sie es löschen. Andernfalls wird der Browser das Feld immer automatisch ausfüllen, nachdem Sie es gelöscht haben.

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