在许多不使用 AJAX 的网站中,注册表单通常会在尝试失败时填写所有输入数据,但通常情况下,密码字段必须由用户重新填写。
我的问题是,为什么 Web 开发人员会选择这样做?我的第一个想法是,他们试图防止恶意脚本在页面加载时窃取密码,但是,他们可以使用onKeyUp
.
有什么想法吗?
浏览器具有专门用于密码的功能,只有在用户明确允许浏览器保存时才会保存。大多数浏览器会询问“您要存储密码吗?”
当用户不在他/她的机器上时,您可以进一步保留主密码以保护保存的密码。
IMO,我认为保存密码并没有错,因为我让浏览器保存我的密码,我通常倾向于使用更强大的密码,因为我倾向于使用自动生成的密码,这些密码通常很难记住。此外,它还可以帮助我避免对多个网站使用单一的密码变体。
无论您是否保存密码,您都可以通过多种方式嗅探密码。网站通常有密码恢复功能,如果密码泄露,它会链接到我的手机。
因此,网站应 允许用户将密码保存在浏览器中,这将责任推给用户,由他/她决定如何使用密码。
因为要自动填充字段,如果您查看标记,您会看到类似这样<input type="password" value="YOURPASSWORDHERE" />
的内容,对于安全性来说并不是那么好。在 XSS 方面,获取标记比监视 JS 事件更容易,因为我可以请求页面比使用 JS 操作 DOM 更容易。
这与脚本无关,网站需要信任在其上下文中运行的脚本。
浏览器经常缓存页面标记。您可能不希望将密码保存在缓存中。