Chrome 将用户名自动填充到随机文本输入中

Chrome autofills username into random text input

这发生在 asp.net webforms 应用程序上,使用 Chrome 版本 72.0.3626.109(官方构建)(64 位)。

该站点受密码保护。用户使用用户名和密码登录。成功登录后,用户将被重定向到 "Loan Search" 页面。贷款搜索页面包含少量文本输入。

问题是 Chrome 会将我的用户名自动填充到其中一个文本输入中(见图)。 "tregan"是我在登录页面输入的用户名。

Chrome 总是选择这个特定的文本输入来自动填充用户名 ("Contact Mailing Address")。这发生在我自己和我们网站的其他几十个用户身上。

知道为什么 Chrome 会执行此自动填充,我能做些什么来阻止它吗?我清除了 Chrome 自动填充缓存,但这并没有解决问题。

答案是在名为 "username" 的 asp.net 表单中添加一个不可见的文本输入。

几年前,我们在使用不同的输入时遇到了同样的问题。答案是添加一个 "password" 类型的不可见输入,如 SO 答案中所述,向下滚动到短语 "It is so simple and tricky...":

Disabling Chrome Autofill

下面是完整的修复方法,我在我们网站的母版页的表单元素中添加了这两个元素。根据下面@Jeff_Mergler 的评论,将这些输入放在表单标签的顶部:

<input type="text" id="username" style="width:0;height:0;visibility:hidden;position:absolute;left:0;top:0" />
<input type="password" style="width:0;height:0;visibility:hidden;position:absolute;left:0;top:0" />

尝试解决此问题的更多方法:

  • 添加 autocomplete="off"<form> and/or 到 <input>
  • 更改字段的 name/id 到其中没有 "name" 或 "user" 的东西
  • 如果它不在 <form> 中,用空 <form> 标签包裹元素
  • 将输入的名称属性随机化,或使用data-name代替name。您必须相应地更改处理数据的代码。

此外,我认为通过 ⋮→Help→Report an issue(或 Alt+Shift+I)将此问题报告给 Google 以鼓励他们解决这些问题会有所帮助。

我遇到了同样的问题,我通过将 div 包裹在表单标签中并在表单标签中添加 属性 autocomplete="off" 找到了解决方法。

…… .....

这里也一样。这需要 chrome 解决。必须在文本框周围添加标签是愚蠢的。此外,快速提示任何需要添加表单标签而无需重新执行 CSS 的人。添加“显示:内容;”到表格。它会表现得好像它不存在一样。