9

在 HTML 表单中键入时,Firefox 或 Internet Explorer 等浏览器会存储这些值,有时会悄悄地存储这些值。因此,当输入另一个网络表单时,浏览器会巧妙地建议相同的信息。显示下拉列表的另一种方法是双击空文本框。

在电子商务网站上,客户键入信用卡号和其他敏感信息。如何避免或阻止浏览器存储敏感信息?

另一个担心是存储的表单数据被篡改(例如恶意软件)。然后客户可以选择这些受污染的数据并破坏该站点。

4

6 回答 6

9

尝试使用属性autocomplete="off"

它应该适用于单个输入元素:

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

或整个表格:

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

特别是对于ASP .NET,您可以像这样设置它:

WebForms 表单:

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

文本框:

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

或在运行时:

Textbox1.Attributes.Add("autocomplete", "off");
于 2009-01-23T03:31:45.197 回答
7

在此处查看更长的讨论:

您如何在 Web 表单字段/输入标签上禁用浏览器自动完成功能?

看起来 autocomplete="off" 在某些情况下会起作用,但它不符合 XHTML。

于 2009-01-23T03:36:37.307 回答
3

当您存储用户名、信用卡号等数据时,最好对公共计算机使用 autocomplete="off"。

因此,如果您构建一个 Intranet 系统,则可以这样做。

于 2009-02-02T17:49:03.107 回答
2

正如其他人所说,答案是autocomple="off"

但是我认为值得说明为什么在某些情况下使用它是一个好主意,因为对此的一些答案和重复的问题表明最好不要关闭。

停止浏览器存储信用卡号码不应该留给用户。太多的用户甚至不会意识到这是一个问题。

在信用卡安全码字段上将其关闭尤为重要。正如本页所述

“永远不要存储安全码......它的价值取决于提供它的唯一方法是从实体信用卡中读取它的假设,证明提供它的人实际上持有卡。”

问题是,如果它是公共计算机(网吧、图书馆等),那么其他用户很容易窃取您的卡详细信息,甚至在您自己的计算机上,恶意网站也可能窃取自动完成数据

于 2009-01-23T21:22:19.340 回答
0

您可以输入输入字段:

autocomplete="off"

作为属性。

话虽这么说:不要这样做。

从可用性的角度来看,这是一个糟糕的主意。特别是如果有字段验证。没有什么比重新输入表格的某些部分更烦人的了,因为您必须更正一个完全不相关的表格。大多数用户喜欢他们不必重新输入信用卡号、姓名、电子邮件地址等这一事实。

通过关闭这些功能,你会惹恼更多的用户而不是你帮助的。

归根结底,安全是用户的问题和他们的特权。绝大多数人使用个人或工作 PC,因此可以缓存此类信息。正确配置的公共终端将在用户注销时清除表单数据。

那么你到底在帮助谁?

于 2009-01-23T03:37:15.217 回答
0
<input autocomplete="new-password">

这适用于“关闭”不适用的地方。

于 2019-07-12T02:21:33.477 回答