文档章节

阻止浏览器自动填充表单

JackyCoder
 JackyCoder
发布于 2016/11/15 10:08
字数 284
阅读 38
收藏 0

在开发中涉及交易密码验证,但浏览器会自动填充表单。很自然的想到autocomplete属性。

HTML5 <form> autocomplete属性

<form autocomplete="off">
...
</form>

HTML5 <input> autocomplete属性

<input type="password" autocomplete="off">

以上两种方式在某些浏览器无效!比如:Chrome 54.0.2840.71

为了解决问题,于是网上搜索,有以下方案:

1. 表单每项输入框前加入如下代码:

<input style="display: none;">

2. 通过JS设置值

经测试,方案1至少在我的浏览器上无效;方案2是不有点麻烦

 

后面考虑到方案1之所以无效,可能是input不在渲染树中,浏览器自动填充时,忽略了它,于是就有了如下兼容方案,经测试有效。

<form autocomplete="off">
    <!-- @hack 阻止浏览器自动填充 -->
    <div style="width: 0;height: 0;">
        <input type="text">
        <input type="password">
    </div>

    ...
</form>

总结:防止浏览器自动填充,原理就是让浏览器自动填充数据到额外无关的表单控件上。

© 著作权归作者所有

JackyCoder
粉丝 0
博文 8
码字总数 1221
作品 0
成都
前端工程师
私信 提问
解决浏览器自动填充表单问题

解决浏览器自动填充表单问题 X-Space2017-12-241 阅读 表单浏览器 Mozilla 官方文档建议 Mozilla developer documentation 建议使用表单设置属性 tautocomplete=”off” 来阻止浏览器从cache...

X-Space
2017/12/24
0
0
如何禁止(表单)用户名、密码自动填充

Html登录表单经常被自动填充,有的甚至用户从来没有登录过的网站也会有自动填充,甚是让人讨厌。 Mozilla developer documentation 建议使用表单设置属性 tautocomplete="off" 来阻止浏览器从...

WolfX
2016/02/20
47
0
阻止浏览器记住密码功能干扰表单填充

最近有一项目在360浏览器下面遇到一个超级恶心的问题,客户在用360浏览器登录系统后记住密码,再创建用户账户的时候,浏览器会自动将登录的用户名和密码填充到页面上去,我同事被这个问题困扰...

slimboy123
2016/01/29
0
0
浏览器内置密码管理器真的安全吗?第三方脚本程序正在窃取你存储的密码数据

     近日,据外媒报道称,安全研究人员发现,已经有市场营销公司开始利用浏览器内置的密码管理器中一个存在长达11年的安全漏洞,偷偷地窃取你的电子邮件地址,以便在不同的浏览器和设备...

嘶吼RoarTalk
2018/01/04
0
0
Modernizr.js,~让css兼容性跟历史说再见!(下篇)

接下来会为大家举一个比较贴切的例子,请看代码 上面的部分是CSS,大概的意思是说,如果浏览器支持阴影属性,则执行下面,如果不支持阴影属性"no-为前缀" 则执行第二套方案,也就是上面的部分...

做h5的小韩
2016/07/30
23
0

没有更多内容

加载失败,请刷新页面

加载更多

Giraph源码分析(八)—— 统计每个SuperStep中参与计算的顶点数目

作者|白松 目的:科研中,需要分析在每次迭代过程中参与计算的顶点数目,来进一步优化系统。比如,在SSSP的compute()方法最后一行,都会把当前顶点voteToHalt,即变为InActive状态。所以每次...

数澜科技
今天
4
0
Xss过滤器(Java)

问题 最近旧的系统,遇到Xss安全问题。这个系统采用用的是spring mvc的maven工程。 解决 maven依赖配置 <properties><easapi.version>2.2.0.0</easapi.version></properties><dependenci......

亚林瓜子
今天
10
0
Navicat 快捷键

操作 结果 ctrl+q 打开查询窗口 ctrl+/ 注释sql语句 ctrl+shift +/ 解除注释 ctrl+r 运行查询窗口的sql语句 ctrl+shift+r 只运行选中的sql语句 F6 打开一个mysql命令行窗口 ctrl+l 删除一行 ...

低至一折起
今天
10
0
Set 和 Map

Set 1:基本概念 类数组对象, 内部元素唯一 let set = new Set([1, 2, 3, 2, 1]); console.log(set); // Set(3){ 1, 2, 3 } [...set]; // [1, 2, 3] 接收数组或迭代器对象 ...

凌兮洛
今天
4
0
PyTorch入门笔记一

张量 引入pytorch,生成一个随机的5x3张量 >>> from __future__ import print_function>>> import torch>>> x = torch.rand(5, 3)>>> print(x)tensor([[0.5555, 0.7301, 0.5655],......

仪山湖
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部