为什么密码字段通常不会在$ _POST中自动填充?

时间:2013-01-02 16:05:31

标签: html forms security post

在许多不使用AJAX的网站中,注册表单通常会在尝试失败时保留所有输入数据,但通常情况下,用户必须重新填写密码字段。

我的问题是,为什么网络开发者会选择这样做?我的第一个想法是他们试图阻止恶意脚本在页面加载时窃取密码,但是,他们可以使用onKeyUp轻松地执行此操作。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

因为要自动填充字段,如果查看标记,您会看到类似<input type="password" value="YOURPASSWORDHERE" />的内容,这对于安全性来说并不是那么好。获取标记比使用XSS监视JS事件更容易,因为我可以比使用JS操作DOM更容易请求页面。

答案 1 :(得分:1)

浏览器具有专门用于密码的功能,如果用户明确允许浏览器,则仅保存。大多数浏览器询问“您是否要存储密码?”

当用户不在他/她的机器上时,您可以进一步保留主密码以保护保存的密码。

IMO,我发现保存密码没有错,因为,由于我让浏览器保存了我的密码,因此我通常倾向于使用更强的密码,因为我倾向于使用自动生成的密码,这通常很难记住。此外,它有助于我避免使用多个网站的单一密码变体。

无论您是否保存密码,您都可以通过各种方式嗅探密码。网站通常具有密码恢复功能,如果密码泄露,可以链接到我的手机上。

因此,网站应该允许用户在浏览器中保存密码,这将责任放在用户身上,并且HIS / HER决定他/她如何使用密码。

答案 2 :(得分:0)

这与脚本无关,网站需要信任在其上下文中运行的脚本。

浏览器通常会缓存页面标记。您可能不希望在缓存中拥有密码。