Verhindern, dass der browser aus der Erinnerung an die Anmeldeinformationen (Benutzername und Passwort)
Ist es möglich, nach der Verarbeitung jeder login-Formular um zu verhindern, dass der browser bietet die Möglichkeit, an das Kennwort zu erinnern?
Ich weiß es schon gefragt und beantwortet aber keine der Antworten gearbeitet haben, so weit, sogar einen von Ihnen empfohlene Verwendung:
autocomplete="off"
Aber auch das hat nicht geklappt.
Ich bin mit AngularJS und Jade als Template-engine (nicht sicher, ob relevant oder nicht jedenfalls), gibt es eine Möglichkeit, dies zu tun?
Nicht möglich, da ich keinen Zugang im moment zu ändern Sie den Controller-scope oder der services im backend, im Gegenteil, Sie sind nicht genannt, wie
Warum brauchen Sie diese Funktionalität? Wenn es nur um sicherzustellen, dass die Eingaben leer sind, könnten Sie manuell löschen Sie in deinem controller? Obwohl dieses Verhalten würde für den Benutzer verwirrend sein, also nicht wirklich zu empfehlen.
Überprüfen Sie diese: stackoverflow.com/questions/32369/... stackoverflow.com/questions/468288/...
Es ist wahrscheinlich schwer zu geben, eine sehr robuste, cross-browser, zukunftssichere Lösung zum ändern der browser-Verhalten. Wenn Sie unbedingt wollen, um dies zu erreichen, würden Sie wahrscheinlich zu greifen, zu erstellen Sie eine benutzerdefinierte UI-element, das aussieht wie ein Kennwort für den Benutzer, aber würde nicht erkennbar sein, die vom browser als solche. Da Sie Eckig, man könnte wahrscheinlich machen eine benutzerdefinierte Richtlinie, die mit $formatter, usw. aus der ngModelController, um die Wirkung der Zeichen zu maskieren. Ja, es klingt wie ein hässlicher hack, aber ich kann nicht denken, der eine wirklich gute Lösung würde ich Vertrauen.
password
oder email
nur pss
und usrnme
Warum brauchen Sie diese Funktionalität? Wenn es nur um sicherzustellen, dass die Eingaben leer sind, könnten Sie manuell löschen Sie in deinem controller? Obwohl dieses Verhalten würde für den Benutzer verwirrend sein, also nicht wirklich zu empfehlen.
Überprüfen Sie diese: stackoverflow.com/questions/32369/... stackoverflow.com/questions/468288/...
Es ist wahrscheinlich schwer zu geben, eine sehr robuste, cross-browser, zukunftssichere Lösung zum ändern der browser-Verhalten. Wenn Sie unbedingt wollen, um dies zu erreichen, würden Sie wahrscheinlich zu greifen, zu erstellen Sie eine benutzerdefinierte UI-element, das aussieht wie ein Kennwort für den Benutzer, aber würde nicht erkennbar sein, die vom browser als solche. Da Sie Eckig, man könnte wahrscheinlich machen eine benutzerdefinierte Richtlinie, die mit $formatter, usw. aus der ngModelController, um die Wirkung der Zeichen zu maskieren. Ja, es klingt wie ein hässlicher hack, aber ich kann nicht denken, der eine wirklich gute Lösung würde ich Vertrauen.
InformationsquelleAutor DannyG | 2015-07-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion
Muss man auch
autocomplete="off"
auf Ihren Eingang sowie Ihre form.Google Chrome release notes:
If an author would like to prevent the autofilling of password fields in user management pages where a user can specify a new password for someone other than themself, autocomplete="new-password" should be specified, though support for this has not been implemented in all browsers yet.
Dauerte eine Weile, zu erkennen, warum es nicht funktioniert hat.InformationsquelleAutor Preston Van Loon
Ich würde vorschlagen, mit Javascript zu erstellen, die eine zufällige Zahl. Pass -, random-Nummer, um Ihre Server-Aktion mit einem hidden-Feld, dann übernehmen die zufällige Zahl in dem Namen der "login" und "Passwort" - Felder.
E. g. (Pseudo-code, die genaue syntax hängt davon ab, ob Sie mit PHP, jQuery, reines Javascript, etc.)
Dein server liest die "Anzahl" - Feld an, verwendet dann, um zu Lesen "name_"Anzahl-Wert und "pass_"Anzahl-Wert.
Es keine Rolle, ob oder ob nicht der Benutzer speichert Ihr Passwort im browser, da jedes mal, wenn der Benutzer sich anmeldet, den Namen und das Kennwort Felder wird anders sein.
InformationsquelleAutor UncaAlby
Dies ist ein super lästiges problem, für mich als Entwickler. Das problem ist, dass ich zwar verstehe ich die 'Belästigung' ein Benutzer nicht in der Lage, Ihre browser-denken Sie daran, Ihr Kennwort und ich will nicht 'deaktivieren', dass die Funktion vollständig, es gibt Zeiten, wenn ich will, um es zu deaktivieren nur für eine bestimmte Passwort-Feld. Beispiel für mich ein 'Kennwort zurücksetzen' - Dialog. Ich möchte, um Sie zu zwingen, zu re-geben Sie Ihr altes Passwort und dann natürlich geben Sie zweimal das neue. Nun, es ist meine Erfahrung gewesen, dass, egal was ich Namen, die "alten" Passwort-Eingabe, es wird automatisch gefüllt mit der 'Erinnerung' Passwort (in Firefox 49.0.1 sowieso). Vielleicht das ist, wo ich bin, immer falsch, aber das ist meine Erfahrung, nur füllt es egal, die Tatsache, dass dieser Eingang ist der name anders sagen, die 'login' - Eingabefeld. Das Verhalten, das ich sehe, ist im Grunde, dass der browser scheint zu sagen, "Dieser Benutzer hat vergessen, ein Passwort für diese Seite, so dass jetzt nur füllen jeden "input type='password'" - box mit, dass das Passwort keine Rolle, der name. Es scheint mir, dass dies sollte auf der Grundlage der 'name' - Attribut, aber bei mir (auf mehreren Seiten, die ich gearbeitet habe) ist das einfach nicht der Fall zu sein scheint.
Meine Lösung:
onload, onblur, nach einem timeout, oder aber Sie wollen es tun, verwenden Sie JQuery oder JS um den Wert, dass Passwort-Feld zu nichts (leer), dann legen Sie die Farbe des Feldes, auf was auch immer es sein soll.
InformationsquelleAutor MinnesotaSlim
Da Sie mit AngularJS, können Sie den Bereich Unbenannt, und Zugriff auf die Daten, die es enthält, durch das Modell :
und in Ihre javascript-Datei :
Getestet in IE10 und Chrome 54
InformationsquelleAutor madgangmixers
Dieser Beitrag ist ein wenig alt jetzt, aber sincce ich habe eine Lösung gefunden, die funktioniert bei mir (zumindest mit Chrome version 56), ich Teile es hier.
Wenn Sie entfernen
name
undpassword
Attribute auf Ihreinput
, dann Chrome nicht mehr Fragen, um das Passwort zu speichern. Dann müssen Sie nur noch die fehlenden Attribute hinzufügen von code vor dem Absenden des Formulars:Dann in Javascript:
Ich hoffe das hilft. Getestet auf Chrome 56 nur.
InformationsquelleAutor Olivier Levrey
Habe ich entdeckt, dass Firefox 52.0.2 ist unglaublich bestimmt zu erinnern, die Auto-Vervollständigung von Werten. Ich habe versucht, fast alles, was oben vorgeschlagen wird, einschließlich der änderung der name-Attribute auf zufällige Werte. Das einzige, was für mich funktioniert ist die Einstellung der Werte "" mit Javascript, nachdem der browser hat sich seinen Weg mit dem Formular.
Mein use-case ist das Glück, dass ich nicht zu greifen, zu CSS-tricks, um zu verhindern, dass eine verwirrende und/oder nervige flash automatisch vervollständigt form Werte (wie vorgeschlagen von @MinnesotaSlim oben), weil meine form ist ausgeblendet, bis Sie auf eine Schaltfläche klicken; dann ist es angezeigt, über eine Bootstrap-modal. Also (mit jQuery),
Und ich denke, Sie könnten in der Lage sein, den gleichen Effekt zu erhalten, indem Sie Ihre form anfangs versteckt, und in Ihrem Dokument load-Ereignis, manuell überschreiben, der browser und dann das Formular anzeigen.
InformationsquelleAutor David