搜狗浏览器下 禁止浏览器自动填写用户名、密码

搜狗浏览器下,会出现把用户设置记住密码的表单(用户名和密码)乱放在,网站中其他成对出现的用户名及密码框中,如何解决这种不负责任的可恨问题,网上有很多方案,但最终都未果。

一、先把网上搜到的方案放下:

1.在input上使用autocomplete="off",但在有的浏览器上还是被记住了用户名跟密码。


2.大部分浏览器都是根据表单域的type="password"来判断密码域的,所以针对这种情况可以采取“动态设置密码域”的方法:

<input type="text" name="password" οnfοcus="this.type='password'" />

在搜狗浏览器贴树皮一样的控制下,依然不好使,确实一开始加载页面后是不会出现了,可一旦输入框被点击,类型变成了密码框后依然会马上被填上不该属于它的数据(作为输入框,这也是一种可悲,同情 T_T……)


3.在onload事件,把密码框的值清空,即:

<script language="javascript"> 
window.load = function(){ 
document.getElementById('密码域ID').value=''; 
}; 
</script>
这要是好使早就用了,都不用上网查这么多,js也被无情的pass了


4.采用flash做登录表单,这种情况浏览器也不会记录表单信息。才疏学浅,flash我地不造,没试验过是否有效。


5.这个比较麻烦,就是可以把type="password"改成type="text",因为type不是password就不会出现记住密码功能,然后设置一个变量如:var val=""或者是设置一个隐藏域<input type="hidden" name="val">,最后用onpropertychange(ie)或oninput(其他)把密码换成一行圆点,并把值赋给val,提交时再把val的值还原回去,由于效果和*号一样。 用户是看不出来的。这种方法有两个难点:(1)苍天啊大地啊,代表密码的圆点打不出来啊键盘上找不到啊找不到……(此处应该有沉默……) (2)用来显示的圆点个数怎么根据用户的输入动态变化(请原谅我没多想),因为这两个原因这个方法也对我天地无用


二、聪明才智绝顶的我(纯粹是个人的非分之想)想到了一个非常简单还能够达到目的的方法:

在实验的过程中发现搜狗浏览器是通过记住表单域id的值来确定填写位置的,但各种取值不允许我去掉id这个神一样镶金边的属性,所以我想他搜狗如果是按两个相邻的用户名和密码输入框中自动填值的话,那我把这对鸳鸯中间插一脚让用户名框和中间后来的小三三密码框成为一对,把原来密码框的id付给小三,再把那三货隐藏了,从此原配密码框就摆脱了被填数据的烦恼(用户名君也不会被赋值),当用户输入密码时把值付给中间的密码框,这样通过id来取值的语句一点也不用变,事实证明我是对滴,我在他俩中间加了个密码输入框付了id(还没隐藏),搜狗马上就老实了:

本来是这样的:
<input type="text" id="user_name" />
<input type="password" id="passwd" />
加工之后:
<input type="text" id="user_name" />
<input type="password" id="user_passwd" name="user_passwd" style="display:none" /> //新加个密码框替代原来的,把id付给它
<input type="password" οninput="user_passwd.value=this.value" /> //原来的密码框还是用户真正接触使用的,只是id没有了,搜狗就不会给他填数据了

还有一个方法不用这么麻烦,无意中发现,只要在原来的密码框后再加个密码框再隐藏(这个密码框不用加处理之类乱码七糟的东西),也会解决问题,不造其中的科学原理,初步猜测是破坏了用户名密码俩一对的搭配形式,可是把简单的密码框插到中间却没什么效果:

<input type="text" id="user_name" />
<input type="password" id="passwd" />
<input type="password" style="display:none" /> //后加个隐藏的密码框破坏自动填表符合的结构



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值