怎么禁止浏览器自动保存密码?

jackxiang 2013-9-8 15:39 | |
怎么禁止浏览器自动保存密码?
背景:有时不是记住密码就方便,有时是记录了反而不好,不安全呵。
1)首先大部分浏览器都是根据表单域的type="password"来判断密码域的,所以针对这种情况可以采取“动态设置密码域”的方法:
<input type="text" name="password" onfocus="this.type='password'" />
IE下不支持修改input 的type属性,会报错!

可以用两个input 一个是text 另一个是password之间的显示与隐藏来实现 这个功能
解释:当这个文档框获取焦点时才将其变成密码域,这样浏览器就不会记住密码,当然为了更加完善,还可以把autocomplete="off"属性也加上。
2)autocomplete="off"
3)在onload事件,把密码框的值清空,即:
<script language="javascript">
<script language="javascript">
window.load = function(){
    document.getElementById('login_pwd').value='';
};
</script>
[/codes]
4)页面采用https协议,因为https是不会对表单进行保存信息的。
5)针对有些浏览器插件的自动填表功能
这个就比较麻烦了,我想这种情况应该是插件记住表单域name的值,然后再进行填表,这种情况,我觉得可以在页面加载时动态更改name的值,当提交表单的时候再把表单的值组合成正确的对应值再提交。这个没有经过验证,只是我个人的想法。你可以试试
如果以上这些方法还满足不了你,那我也没办法了。

建议:
试一下把对应域名下的cookie清掉,浏览器应该是根据cookie来记住用户名密码的。
(不是的,有的浏览器是在你提交表单后,根据你提交的值来记住的)
(对的 有些浏览器不记录在COOKIE 这个比较头疼 顺便问下INPUT里输入过的值如何清除?我希望能像银行的那样 输入过的值不再出现)
浏览器记住密码的实现方式就是通过寻找type为password的input输入框,然后前边一个输入框就作为用户名记住。所以解决这个问题的办法就是在用户名input和密码input之间增加一个type为text的输入框设置css属性display为none。
来自:http://www.jb51.net/article/35878.htm

采用办法:
(1)
密码:<input type=\"text\" name=\"login_pwd\" id=\"login_pwd\" class=\"mytxt\"  size=\"12\" onfocus=\"this.type='password'\" autocomplete=\"off\"/>
(2)

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/6645/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2013-9-8 15:43
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]