it-swarm.com.de

Eingabetyp = Passwort, den Browser nicht an das Passwort erinnern lassen

Ich erinnere mich an einen Weg, einen <input type="password" /> zu haben, so dass der Browser nicht den Benutzer auffordert, das Passwort zu speichern. Aber ich zeichne eine Leere. Gibt es ein HTML-Attribut oder einen JavaScript-Trick, der dies tun wird?

93
DavGarcia

Versuchen Sie es mit autocomplete="off". Nicht sicher, ob jeder Browser dies unterstützt. MSDN-Dokumente hier .

EDIT: Hinweis: Die meisten Browser haben die Unterstützung für dieses Attribut eingestellt. Siehe Ist autocomplete = "off" mit allen modernen Browsern kompatibel?

Dies ist wohl etwas, das dem Benutzer und nicht dem Website-Designer überlassen werden sollte.

119
tvanfosson

<input type="password" autocomplete="off" />

Ich möchte nur hinzufügen, dass dies als Benutzer meiner Meinung nach sehr ärgerlich und umständlich ist. Ich empfehle Ihnen dringend, dies nicht zu verwenden, da dies Ihre Benutzer höchstwahrscheinlich verschlimmern wird.

Kennwörter sind bereits nicht in der MRU gespeichert, und richtig konfigurierte öffentliche Maschinen speichern den Benutzernamen nicht einmal.

60
matpie

Ich habe auf andere Weise gelöst. Sie können es versuchen.

<input id="passfld" type="text" autocomplete="off" />
<script type="text/javascript">
// Using jQuery
$(function(){                                               
    setTimeout(function(){
        $("input#passfld").attr("type","password");
    },10);
});


// or in pure javascript
 window.onload=function(){                                              
    setTimeout(function(){  
        document.getElementById('passfld').type = 'password';
    },10);
  }   
</script>

#ein anderer Weg

 <script type="text/javascript">    
 function setAutoCompleteOFF(tm){
    if(typeof tm =="undefined"){tm=10;}
    try{
    var inputs=$(".auto-complete-off,input[autocomplete=off]"); 
    setTimeout(function(){
        inputs.each(function(){     
            var old_value=$(this).attr("value");            
            var thisobj=$(this);            
            setTimeout(function(){  
                thisobj.removeClass("auto-complete-off").addClass("auto-complete-off-processed");
                thisobj.val(old_value);
            },tm);
         });
     },tm); 
    }catch(e){}
  }
 $(function(){                                              
        setAutoCompleteOFF();
    });
</script>

// Sie müssen das Attribut autocomplete = "off" hinzufügen oder Sie können die Klasse .auto-complete-off in das Eingabefeld einfügen und

Beispiel:

  <input id="passfld" type="password" autocomplete="off" />
    OR
  <input id="passfld" class="auto-complete-off" type="password"  />
12
SarwarCSE

Was Sicherheitsfragen anbelangt, so wird Ihnen hier ein Sicherheitsberater über das gesamte Feldproblem berichten (dies ist das Ergebnis einer tatsächlichen unabhängigen Sicherheitsüberprüfung):

HTML-Autovervollständigung aktiviert - Kennwortfelder in HTML-Formularen haben die automatische Vervollständigung aktiviert. Die meisten Browser können sich die in HTML-Formulare eingegebenen Anmeldeinformationen der Benutzer merken.

Relatives Risiko: Niedrig

Betroffene Systeme/Geräte: o https: //* ** * *** /

Ich stimme auch zu, dass dies jedes Feld umfassen sollte, das wirklich private Daten enthält. Ich bin der Meinung, dass es in Ordnung ist, eine Person zu zwingen, ihre Kreditkarteninformationen, den CVC-Code, Passwörter, Benutzernamen usw. immer dann einzugeben, wenn diese Website auf alles zugreifen wird, was sicher gehalten werden sollte (allgemein oder durch gesetzliche Compliance-Anforderungen). Zum Beispiel: Kaufformulare, Bank-/Kredit-Websites, Steuerstandorte, medizinische Daten, Bundesbehörden, Nuklearanlagen usw. - nicht Sites wie Stack Overflow oder Facebook.

Andere Arten von Websites - z. TimeStar Online für das Ein- und Ausschalten der Arbeit - dumm, da ich bei der Arbeit immer denselben PC/Account verwende, sodass ich die Anmeldeinformationen auf dieser Website nicht speichern kann - komischerweise kann ich dies auf meinem Android aber nicht auf einem iPad. Sogar gemeinsam genutzte PCs wäre dies nicht so schlimm, da das Ein- und Ausschalten für andere Personen wirklich nichts anderes als Ihren Vorgesetzten nervt. (Sie müssen die fehlerhaften Schläge löschen und löschen - einfach nicht auf öffentlichen PCs speichern).

5
Michael R Lewis

Ich habe folgendes ausprobiert und es scheint, dass jeder Browser funktioniert:

<input id="passfld" type="text" autocomplete="off" />

<script type="text/javascript">
    $(function(){  
        var passElem = $("input#passfld");
        passElem.focus(function() { 
            passElem.prop("type", "password");                                             
        });
    });
</script>

Dieser Weg ist viel sicherer als die Verwendung von Timeout-Techniken, da er garantiert, dass das Eingabefeld ein Kennwort ergibt, wenn der Benutzer es fokussiert.

5
Apostolidis

Hier ist die beste Antwort und die einfachste! Setzen Sie ein zusätzliches Passwortfeld vor Ihr input-Feld, und legen Sie den display:none fest, damit der Browser ihn in einer input ausfüllt, die Sie nicht interessieren.

Ändere das:

<input type="password" name="password" size="25" class="input" id="password" value="">

zu diesem:

<input type="password" style="display:none;">
<input type="password" name="password" size="25" class="input" id="password" value="">
4

Lesen Sie auch diese Antwort wo er diese einfache Lösung verwendet, die überall funktioniert (siehe auch das Update für Safari Mobile):

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

Sie können JQuery verwenden und das Element anhand der ID auswählen:

$("input#Password").attr("autocomplete","off");

Oder wählen Sie den Artikel nach Typ aus:

$("input[type='password']").attr("autocomplete","off");

Oder auch:

Sie können reines Javascript verwenden:

document.getElementById('Password').autocomplete = 'off';
2
Fernando

sie können es auch wie folgt verwenden

$('#Password').attr("autocomplete", "off");
setTimeout('$("#Password").val("");', 2000);
1

Ich habe folgende Funktionen für Firefox und Chrome gefunden.

<form ... > <!-- more stuff -->
<input name="person" type="text" size=30 value="">
<input name="mypswd" type="password" size=6 value="" autocomplete="off">
<input name="userid" type="text" value="security" style="display:none">
<input name="passwd" type="password" value="faker" style="display:none">
<!-- more stuff --> </form>

Alle diese befinden sich im Formularbereich. "person" und "mypswd" sind das, was Sie wollen, aber der Browser speichert "userid" und "passwd" einmal und nie wieder, da sie sich nicht ändern. Sie können das Feld "Person" entfernen, wenn Sie es nicht wirklich benötigen. In diesem Fall benötigen Sie lediglich das Feld "mypswd", das sich auf irgendeine Weise ändern kann, die dem Benutzer Ihrer Webseite bekannt ist.

0
Dick Guertin
<input type="password" placeholder="Enter New Password" autocomplete="new-password">

Bitte schön.

0
Bhaumik Thakkar

Bei den meisten gängigen Browsern führt eine Eingabe außerhalb und ohne Verbindung zu irgendwelchen Formularen dazu, dass der Browser der Ansicht ist, dass keine Eingabe erfolgt. In diesem Fall müssten Sie für die Anmeldung eine reine JS-Validierung verwenden und die Verschlüsselung Ihrer Kennwörter wäre ebenfalls erforderlich.

Vor:

<form action="..."><input type="password"/></form>

Nach dem:

<input type="password"/>
0
IamGuest

Die einzige Möglichkeit, Firefox, Edge und Internet Explorer dazu zu bringen, Autocomplete zu deaktivieren, besteht darin, autocomplete = "false" in meiner Formulierungsanweisung wie folgt hinzuzufügen:

  <form action="postingpage.php" autocomplete="false" method="post">

und ich muss autocomplete = "off" zu meiner Formulareingabe hinzufügen und den Typ in Text ändern.

     <input type="text" autocomplete="off">

Es scheint, dass dieser HTML-Code mit den Browsern vereinheitlicht werden muss. Das Formulartyp = Kennwort sollte überarbeitet werden, so dass es die Browsereinstellungen überschreibt. Das einzige Problem, das ich habe, ist, dass ich meine Eingabemaskierung verloren habe. Aber auf der hellen Seite erscheint das ärgerliche "Diese Seite ist nicht sicher" im Firefox nicht. 

für mich ist es keine große Sache, da der Benutzer bereits authentifiziert ist und sein Benutzername und das Kennwort Teil davon sind

0
drtechno