如何禁用Web表单域/输入标签上的浏览器自动完成功能?
如何禁用主要浏览器中的特定input
(或form field
)的autocomplete
?
Firefox 30会忽略密码的autocomplete="off"
,选择提示用户密码是否应存储在客户端。 请注意2014年5月5日发表的以下评论:
根据Mozilla开发者文档,表单元素属性autocomplete
可防止表单数据在旧浏览器中缓存。
<input type="text" name="foo" autocomplete="off" />
除了autocomplete=off
,您还可以通过生成页面的代码来随机化表单域名称,也许可以通过在名称末尾添加一些会话特定的字符串。
提交表单时,您可以先关闭该部分,然后在服务器端处理它们。 这将阻止Web浏览器为您的字段查找上下文,并且可能有助于防止XSRF攻击,因为攻击者无法猜测表单提交的字段名称。
大多数主要的浏览器和密码管理器(正确的,恕我直言)现在忽略autocomplete=off
。
为什么? 出于安全目的,许多银行和其他“高安全性”网站为其登录页面添加了autocomplete=off
,但这实际上降低了安全性,因为它会导致人们在这些高安全性网站上更改密码以易于记忆(并因此破解),因为自动完成功能已损坏。
很久以前,大多数密码管理器开始忽略autocomplete=off
,现在浏览器开始只为用户名/密码输入做同样的事情。
不幸的是,自动完成实现中的错误会将用户名和/或密码信息插入到不适当的表单域中,导致表单验证错误,或者更糟糕的是,意外地将用户名插入用户故意留空的域中。
什么是Web开发人员要做的事情?
不幸的是, Chrome 34只会在用户/通行证看到密码字段时尝试自动填充字段。 这是一个非常糟糕的错误,希望它们会改变Safari的行为。 但是,将其添加到表单的顶部似乎禁用了密码自动填充功能:
<input type="text" style="display:none">
<input type="password" style="display:none">
我还没有彻底调查IE或Firefox,但如果其他人在评论中有信息,我会很乐意更新答案。
链接地址: http://www.djcxy.com/p/683.html上一篇: How do you disable browser Autocomplete on web form field / input tag?