2009-01-23 8 views
8

Bei der Eingabe in HTML-Formularen speichern Browser wie Firefox oder ie die Werte, manchmal leise. Wenn Sie also ein anderes Webformular eingeben, schlägt der Browser intelligent dieselben Informationen vor. Eine weitere Methode zum Anzeigen der Dropdown-Liste ist das Doppelklicken auf ein leeres Textfeld.Wie mache ich, um den Browser zu zwingen, die HTML-Formularfelddaten nicht zu speichern?

In einer E-Commerce-Website gibt der Kunde die Kreditkartennummer und eine andere vertrauliche Information ein. Wie kann ich den Browser vermeiden oder blockieren, um diese vertraulichen Informationen zu speichern?

Eine andere Sorge ist über manipulierte Formulardaten gespeichert (durch eine Malware, zum Beispiel). Dann kann der Kunde diese kontaminierten Daten auswählen und die Website kompromittieren.

Grüße.

+0

Re: "Wie ich den Browser zu vermeiden oder zu blockieren, um diese vertraulichen Informationen zu speichern?" Nicht. Es geht dich nichts an. –

+1

mögliches Duplikat von [Wie deaktivierst du Browser-Autocomplete auf Webformularfeld/Eingabe-Tag?] (Http://stackoverflow.com/questions/2530/how-do-you-disable-browser-autocomplete-on-web-form -field-input-tag) –

Antwort

6

Versuchen Sie, mit dem atribute autocomplete="off"

Es sollte für einzelne Eingabeelemente arbeiten:

<input type="text" autocomplete="off" name="text1" /> 

oder auf die gesamte Form:

<form name="form1" id="form1" method="post" autocomplete="off" 
    action="http://www.example.com/action"> 
[...] 
</form> 

Und für speziell ASP .NET Sie kann es so einstellen:

Die WebForms bilden:

<form id="Form1" method="post" runat="server" autocomplete="off"> 

Textfelder:

<asp:TextBox Runat="server" ID="Textbox1" autocomplete="off"></asp:TextBox> 

oder zur Laufzeit:

Textbox1.Attributes.Add("autocomplete", "off"); 
-1

können Sie auf die Eingabefelder setzen:

autocomplete="off" 

als Attribut.

Das gesagt: TUN SIE ES NICHT.

Aus Sicht der Benutzerfreundlichkeit ist es eine schreckliche Idee. Vor allem, wenn es Feldvalidierung gibt. Es gibt nichts ärgerlicheres, als Teile eines Formulars erneut eingeben zu müssen, da Sie ein vollständig nicht verknüpftes Formular korrigieren müssen. Die meisten Benutzer mögen die Tatsache, dass sie Kreditkartennummern, ihren Namen, ihre E-Mail-Adressen usw. nicht erneut eintippen müssen.

Sie werden viel mehr Nutzer ärgern als Sie helfen, indem Sie solche Funktionen ausschalten.

Schließlich ist Sicherheit das Problem des Benutzers und deren perogative. Die überwiegende Mehrheit der Leute benutzen persönliche oder Arbeits-PCs, so dass es gut ist, solche Informationen zwischenzuspeichern. Richtig konfigurierte öffentliche Terminals löschen Formulardaten, wenn sich der Benutzer abmeldet.

Wer genau helfen Sie?

+0

Dies sollte nicht downvoted werden. Was jedoch das Thema "Sicherheit ist das Verhalten des Benutzers" angeht, denke ich, dass dies nicht unbedingt die richtige Einstellung ist. Möglicherweise erstellen Sie eine Geschäftsanwendung, bei der eine der Voraussetzungen darin besteht, diese Felder für die automatische Vervollständigung nicht zuzulassen. Aber Sie können manchmal einen Punkt haben. – BobbyShaftoe

+2

Sagen Sicherheit ist das Problem des Benutzers ist es zu weit zu nehmen, aber +1 für den allgemeinen Kern. Ich hasse Formulare, die die automatische Vervollständigung deaktivieren und/oder nicht standardmäßige (lese "dumme") Feldnamen (wie "EmailAddy") verwenden. –

+2

Das Anhalten von Browsern, die Kreditkartennummern speichern, sollte nicht den Benutzern überlassen werden. Zu viele Benutzer werden nicht einmal merken, dass es ein Problem ist. –

2

Wie andere gesagt haben, ist die Antwort autocomple="off"

aber ich denke, dass es sich lohnt, die besagt, warum es eine gute Idee, dies als ein paar Antworten in bestimmten Fällen zu verwenden, um diese und duplicate Fragen vorgeschlagen haben, ist es besser, nicht zu schalten wenn aus.

Das Anhalten von Browsern, die Kreditkartennummern speichern, sollte nicht den Benutzern überlassen werden. Zu viele Benutzer werden nicht einmal merken, dass es ein Problem ist.

Es ist besonders wichtig, die Felder für Kreditkarten-Sicherheitscodes zu deaktivieren. Wie this page Staaten

„speichern Sie niemals den Sicherheitscode ... ihr Wert hängt von der Vermutung, dass der einzige Weg, um es von der physischen Kreditkarte zu liefern sie beweisen zu lesen ist, dass die Person, liefert es tatsächlich hält die Karte."

Das Problem ist, wenn es ein öffentlicher Computer (Internet-Café, Bibliothek usw.) ist es dann einfach für andere Benutzer Ihrer Kartendaten zu stehlen, und auch auf Ihrem eigenen Rechner eine bösartige Website konnte steal autocomplete data.

+1

lol Ich liebe dieses Zitat - als ob ich mich nicht an eine 3-stellige Nummer erinnern kann!aber nicht speichern Sie es nicht! Tatsächlich ist es vom Standpunkt der PCI aus illegal. –

3

Es ist gut, das Autocomplete = "off" für öffentliche Computer zu verwenden, wenn Sie Daten wie Benutzernamen, Kreditkartennummern und ähnliches speichern.

Also, wenn Sie ein Intranet-System bauen, wäre es in Ordnung, es zu tun.