嵌入式AIoT君

我是一名嵌入式-人工智能小白,从入门到出师,开始我的新一段征程。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

问:比如我在https://klb.kltong.com/login.jsp成功登录后浏览器问我保不保存密码,我点了是,然后跳转到网关付款的时候,

发现用户名和密码莫名赋值到了这里,我看了下源码没有相同点,应该不是id或者name重复的原因,
所以感觉很奇怪,而且不止一个浏览器有这样的问题,而且都是付给了金额和下面的消费密码,所以不知道这里面浏览器是怎么解析的呢?

 

分析: 登陆页面和付款页面的input是不是id或者name属性值是相同的?
    如果是html5 可以使用sessionStroage来存储相关的信息是浏览器功能,根据域名绑定账号和密码 

防止浏览器记住用户名及密码的简单实用方法

如何设置能禁止浏览器自动保存表单信息,比如用户名,密码? 
现在很多浏览器都有自动填写功能,我在input上使用了autocomplete="off",但在有的浏览器上还是被记住了用户名跟密码,请问有没有更有效及简便的方法来防止浏览器记住用户名及密码? 

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

复制代码代码如下:
<input type="text" name="password" onfocus="this.type='password'" />
解释:当这个文档框获取焦点时才将其变成密码域,这样浏览器就不会记住密码,当然为了更加完善,还可以把autocomplete="off"属性也加上。 
2).在onload事件,把密码框的值清空,即: 

复制代码代码如下:
<script language="javascript"> 
window.load = function(){ 
document.getElementById('密码域ID').value=''; 
}; 
</script> 


3).页面采用https协议,因为https是不会对表单进行保存信息的。 
4).采用flash做登录表单,这种情况浏览器也不会记录表单信息。 
5).再来个变态的好了,就是可以把type="password"改成type="text",因为type不是password就不会出现记住密码功能,然后设置一个变量如:var val=""或者是设置一个隐藏域<input
type="hidden" name="val">,最后用onpropertychange把密码换成一行圆点,并把值赋给val,提交时再把val的值还原回去,由于效果和*号一样。 用户是看不出来的。 

2、针对有些浏览器插件的自动填表功能 
这个就比较麻烦了,我想这种情况应该是插件记住表单域name的值,然后再进行填表,这种情况,我觉得可以在页面加载时动态更改name的值,当提交表单的时候再把表单的值组合成正确的对应值再提交。这个没有经过验证,只是我个人的想法。你可以试试 

如果以上这些方法还满足不了你,那我也没办法了。 

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

【注:】本文来源:http://jingyan.baidu.com/article/3c343ff701b6fc0d3779632f.html

          脚本之家

posted on 2019-06-10 10:27  孔实  阅读(4299)  评论(0编辑  收藏  举报