在auth失败时禁用浏览器的“保存密码”功能

时间:2009-06-05 00:07:08

标签: php security firefox browser passwords

我正在寻找一种服务器端实现来禁止浏览器保存无效的登录凭据。 例如,用户“foo”使用密码“bar”登录。浏览器询问foo是否要保存密码。但是,foo的密码实际上是“baz”,因此会保存错误的密码。

我尝试过操纵HTTP代码,例如发送HTTP / 1.1 401,但没有成功。

这不是通过向表单添加“自动填充”来解决的,因为这可以防止任何保存(甚至是有效的)。

服务器后端是PHP。

3 个答案:

答案 0 :(得分:4)

我认为你不能 - 这是一种浏览器行为。

最近,你可以写一个可能拦截请求的Firefox插件。但我对此并不确定,它只适用于Firefox。您需要查看Chrome,IE,Safari和您感兴趣的任何其他浏览器。

答案 1 :(得分:4)

您似乎正在尝试修复一些不是您的工作且您无法控制的事情。正如Joel Mueller所说,Firefox通过将状态保存密码对话框更改为状态栏来解决此问题,该状态栏允许您在保存之前确认密码是否正确。如果您在其他浏览器中遇到此问题,则应将其作为功能请求提交给该浏览器的开发人员,以便可以在问题结束时解决问题,这是唯一需要解决的问题。

答案 2 :(得分:1)

如果身份验证失败,您不能忽略该框。但是,您可以在初始尝试后阻止“密码失败”页面上的该字段的后续填充。页面加载后,如果上次登录尝试无效,则操作DOM以从密码字段中删除文本值。它仍然会在随后对网站进行“新鲜”访问时显示密码,但希望到那时保存正确的密码。