美文网首页前端开发
谷歌浏览器记录登录密码解决方法

谷歌浏览器记录登录密码解决方法

作者: my沙漠玫瑰 | 来源:发表于2018-03-05 10:33 被阅读0次

如果项目开发运行的环境依赖于谷歌的,那么经常出现会自动记录曾经登陆的账户和密码,当然这很方便,但是有一个小bug,直接选择曾经用的密码就可以直接登录,具有一定的安全性问题。

一、问题特征

1、自动记录登录密码和账户

2、input框出现黄色背景

二、问题根本原因

1、根据input框的type类型为password记住密码,同时密码上方的登录账户也会记住

2、此input框如果包含了name和id属性也会记住密码

三、解决之策(记住最后一次登录的账号,但不记住密码的方法)(亲测)

1、type仍为password值,但密码input框不得包含name和id属性

2、并且必须加入autocomplete="new-password"属性

详情:登录时用localstorage.setItem('username','')记住登录的用户名,下一次登录时将localstorage.getItem('username')的值赋给当前的用户名input框。

代码块:

html:

<div class="login-account"><input  type="text" class="username" value="" placeholder="请输入账号"></div>

<div class="login-pwd">input  type="password" value="" placeholder="请输入密码" autocomplete="new-password" ></div>

<button onclick="signIn()">登录</button>

js:(加载页面时进入如下判断)

if( localStorage.getItem(' username ')){

            document.getElementsByClassName(' username ')[0].value=localStorage.getItem(' username ');

  }

signIn(){/*正常接入登录接口即可*/}

总结:

1、只记录账号不记录密码。

(1)localstorage记录上一次登录的账号,密码框name和id属性都不用,并且使用autocomplete="new-password"

(2)理论上也可用localstorage来存储用户名的cookie值(document.cookie获取cookie值,然后截取所需要的用户名的值),删除密码框的cookie值(未亲测,*-* *-*)

2、记录曾经登录过的用户名

每次登录时记录用户名并塞进一个数组中,用户名input框获取焦点时显示下拉框(曾经登录过的用户名数组)(未亲测  *-* *-*)

相关文章

网友评论

    本文标题:谷歌浏览器记录登录密码解决方法

    本文链接:https://www.haomeiwen.com/subject/stwigxtx.html