登录被浏览器记住密码后,密码填充到密码框问题

一般登陆之后浏览器会询问是否记住密码,如果把密码记住在浏览器上,下次登陆的时候浏览器会把用户名和密码自动填充到登录页面。工作中做项目提测后,测试提出360浏览器记住密码后会自用把登陆账号和密码填充到添加账号页面和修改账号页面,经过本地测试后发现确实存在该问题。 类似于这样:

从用户的角度来说 这么整肯定不行,即使是浏览器的问题。通过组内人员的一步一步探索最终找到解决办法:

1、通过网上搜索 发现有些文章是提供设置设置文本框的autocomplete属性为off,根据该方法修改后发现并没有解决问题,原来该属性的含义代表是否让浏览器自动记录之前输入的值。

2、从一篇文章上看到 “大部分浏览器都是根据表单域的type="password"来判断密码域”,也给出了解决办法,“动态改变文本框”

      所以在页面加载时不让它是密码框,改成文本框,果然密码就匹配不上了。当该密码框获取焦点后改变他的type属性  this.type="password",这种写法可以实现功能。但使用IE浏览器测试时发现在IE8及一下的浏览器中this.type会报错。该方法还是不能彻底解决这个问题。

3、在文本框外面嵌套标签

 <label id="password2"><input class="txt w-200" value="" type="text" id="SecondPwd" /></label>

     可以在文本框获取焦点之后直接改变label标签的html

    $("#SecondPwd").live(‘focus‘, function () {
       if ($(this).attr(‘type‘) == ‘text‘) {

      /*改变label标签的html*/
       $(‘#password2‘).html(‘<input class="txt w-200" value="" type="password" id="SecondPwd" />‘);

      /*标签获取焦点*/
       $(‘#SecondPwd‘).focus();
   }
  })

  这种写法在IE8及以下浏览器下面都可以实现效果,但经过后期测试又发现在360急速模式下面仍然能够填充上用户名和密码,还得找其他的解决办法

4、在使用第五种方法的之前,考虑把所有的框都先设为只读,然后在获取焦点后设置成可写,失去焦点后在只读,但密码框设置为可写之后仍会匹配上。

5、加载一个显示的文本框和隐藏的密码框

   <label id="password1">
    <input class="txt w-200 fl" value="" type="text" name="txtPwd" id="txtPwd" />
    <input class="txt w-200 fl" value="" type="password" name="Pwd" id="Pwd" style="display: none" readonly="true" />//为了防止隐藏的文本框被匹配上  先设置为只读

     </label>

    当文本框再获取焦点之后

     $("[name=txtPwd]").live(‘focus‘, function () {
     /*当前文本框隐藏*/
     $(this).hide();

     /*隐藏的密码框显示并且获取焦点 只读属性去掉*/
      $(‘#pwd1‘).show().attr(‘readonly‘, false).focus();
})

几年前在公司写的文章了。今天整理一下。如若遇到这类问题可以参考第五种方法解决。小伙伴若有更好的办法可以评论分享

原文地址:https://www.cnblogs.com/zhaojian-08/p/10068791.html

时间: 2024-08-26 07:36:23

登录被浏览器记住密码后,密码填充到密码框问题的相关文章

浏览器保存密码后自动填充问题

问题描述 在浏览器中进行登录操作时浏览器往往会问我们是否需要记住密码,当我们点击了记住密码后,发现浏览器会自动填充此域名下已经保存的账号密码,给用户带来不便.加了HTML5 中的新属性autocomplete="off" ,但是并没有产生效果. 浏览器自动填充机制 反复测试后发现浏览器自动填充机制是满足:页面里有一个type=password的input且这个input前面有一个type=text的input的时候就会进行自动填充.firefox和360浏览器的处理方式是:只要检测到页

去掉chrome记住密码后自动填充表单的黄色背景

chrome 表单自动填充后,input文本框的背景会变成黄色的,通过审查元素可以看到这是由于chrome会默认给自动填充的input表单加上input:-webkit-autofill私有属性,然后对其赋予以下样式: input : -webkit-autofill { background-color : #FAFFBD ; background-image : none ; color : #000 ; } 在有些情况下,这个黄色的背景会影响到我们界面的效果,尤其是在我们给input文本框

Android记住密码后自动登录

/** * * @author alex * @version 2014-7-31下午5:25:45 * */ public class LoginActivity extends Activity { private EditText name; private EditText pass; private CheckBox isRemenber; private CheckBox isLoginSelf; private Button longin; private ProgressDial

【整理】14. 禁止自动填充浏览器记住的密码?

怎么禁止自动填充浏览器记住的密码? 原因:chrome 自动回填/选择历史提示 会导致黄色背景:一个不常用的个性定制的登陆界面,懒的修改样式,所以牺牲功能. 解决办法: 方式一: <input type="password" name="pwd" style="display:none"> <input type="password" name="pwd" placeholder=&quo

基于localStorge开发登录模块的记住密码与自动登录

前沿||我是乐于分享,善于交流的鸟窝 先做写一篇关于登录模块中记住密码与自动登录的模块.鸟窝微信:jkxx123321 关于这个模块功能模块的由来,这是鸟大大的处女秀,为什么这么说呢?一天在群里,一个哥们说有私活,开发一个****模块,我那天手痒痒就和他聊了两句,然后,就决定给她做这个模块了,和他谈了谈交付时间,他说最迟两天,然后谈了谈加个,最后达成,500¥!!!这个模块其实第一天晚上我就开发出来了,那时我给他微信说,功能模块开发ok了,要不要远程查看一下,没问题的话就交了,一会他回我,好了就

XSS攻击:获取浏览器记住的明文密码

作者:余弦(@evilcos) 0x01. XSS获取明文密码的多种方式 我已经感受到Web潮流带来的巨大革新,尤其是最近HTML5越来越火.浏览器们在客户端瓜分着这个Web OS,只要是对用户体验好的功能,浏览器之间就会互相学习,然后去实现,但是实现总是存在一些差异,有些差异是用户体验上的,有些则可能带来安全问题. 这篇文章是想深入描述下浏览器记住用户密码这种机制带来的安全问题与实现上的一些差异性.黑客们如何通过技巧获取到浏览器保存的密码,明文. 先回到XSS本身上,XSS获取明文密码的方式有

记住密码后,密码框Password会自动带出数据

一般登陆之后浏览器会询问是否记住密码,如果把密码记住在浏览器上,下次登陆的时候浏览器会把用户名和密码自动填充到登录页面.前段时间服务站平台的员工账号模块提测后,测试提出360浏览器记住密码后会自用把登陆账号和密码填充到添加账号页面和修改账号页面(部分其他浏览器也会有该问题),经过本地测试后发现确实存在该问题. 类似于这样: 从用户的角度来说 这么整肯定不行,即使是浏览器的问题.通过组内人员的一步一步探索最终找到解决办法: 1. 通过网上搜索 发现有些文章是提供设置设置文本框的autocomple

阻止浏览器记住密码功能

一.关于浏览器记住密码功能 可以参考:http://www.cnblogs.com/tianma3798/p/6062869.html 二.如何控制浏览器不提示"是否记住密码"呢 解决方案1: 1.关闭表单的自动完成功能 autocomplete=false,关于参考:autocomplete属性 2.延迟设置密码域,即在页面加载成功后 将输入框的type='password' 代码示例: <div class="container"> <form

防止浏览器记住用户名及密码

如何设置能禁止浏览器自动保存表单信息,比如用户名,密码? 现在很多浏览器都有自动填写功能,我在input上使用了autocomplete="off",但在有的浏览器上还是被记住了用户名跟密码,请问有没有更有效及简便的方法来防止浏览器记住用户名及密码? 1.针对浏览器记住密码 1).首先大部分浏览器都是根据表单域的type="password"来判断密码域的,所以针对这种情况可以采取“动态设置密码域”的方法: <input type="text&quo