Chrome会将用户名自动填充为随机文本输入

问题描述 投票:9回答:2

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

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

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

enter image description here

Chrome始终选择此特定文本输入以自动填充用户名(“联系邮件地址”)。这发生在我自己和我们网站的其他几十个用户身上。

知道Chrome为什么会这样做自动填充,有什么办法可以阻止它吗?我清除了Chrome自动填充缓存,但这并没有解决问题。

asp.net google-chrome autofill
2个回答
6
投票

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

几年前,我们在输入不同时遇到了同样的问题。答案是添加一个“密码”类型的隐形输入,如本SO答案所述,向下滚动到“这是如此简单和棘手......”这句话:

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" />

0
投票

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

  • autocomplete="off"添加到<form>和/或<input>
  • 将字段的name / id更改为其中没有“name”或“user”的内容
  • 如果它还没有在<form>内部用空的<form>标签包裹元素
  • 随机化输入的name属性,或使用data-name而不是name。您必须相应地更改处理数据的代码。

此外,我认为通过⋮→Help→Report an issue(或Alt + Shift + I)向Google报告此问题有助于他们解决这些问题。

© www.soinside.com 2019 - 2024. All rights reserved.