阿夸漫谈

防止浏览器自动填写用户名和密码

发表于 2019-07-31

浏览器会自动填写用户名和密码,网上有一些解决方案,但目前大部分已经失效。经过尝试,将目前可行的解决方案进行汇总(测试环境 chrome 版本为 75.0.3770.100)。

1. 仅用户名输入框弹出已记住密码的选择框


正常情况下在登录界面点击用户名和密码都会弹出已记住密码的选择框,当只需要点击用户名输入框弹出已记住选择框,可以给用户名的 input 添加 nameautoComplete 属性即可

原生示例

<input
  type="text"
  placeholder="请输入用户名"
  name="user"
  autocomplete="new-password"
>

iView 示例

<Input
  type="text"
  v-model="formInline.username"
  placeholder="请输入用户名"
  autofocus
  name="user"
  autoComplete="new-password"
>

2. 不自动记住密码


目前对 type="password" 的 input 框直接添加 autocomplete="new-password" 方法已经失效,可以在 type="password" 的 input 上添加两个隐藏的 input 框实现不记住密码功能

<input
  style="display:none"
  type="text"
  name="fakeusernameremembered"
/>
<input
  style="display:none"
  type="password"
  autocomplete="new-password"
  name="fakepasswordremembered"
/>
目录