我注意到一旦 Firefox 弹出一个模式来响应 HTTP 响应中的 WWW-Authenticate 标头。然后,Firefox 会保存用户名/密码,直到 Firefox 关闭。Web Developer插件使有开发意识的人可以注销。但是应该向浏览器发送什么 HTTP 消息以丢失这些缓存的凭据?
问问题
515 次
3 回答
3
恐怕没有办法优雅地向浏览器发送命令以停止保留(并在每个 http 请求中向您的服务器发送)您在用户导航开始时回收的凭据(通过 http 401 响应)。
于 2009-11-11T19:41:50.753 回答
2
我找到了一个合理的解决方法。这有点涉及,但效果很好。我创建了一个带有 GUID 字段的表。它没有从任何记录开始。这是解决方案:
- 用户单击“注销”。
- 注销脚本将 GUID 添加到新表。
- 注销脚本将用户重定向到以 GUID 作为参数的 URL。
- 当用户点击带有 GUID 作为参数的 URL 时,系统会在表中搜索 GUID。
- 如果 GUID 在表中,请删除带有 GUID 的记录并提供无效的用户名/密码响应代码(即使凭据正常)。
- 如果 GUID 不在表中,请验证凭据。
这个新表可能会被黑客快速膨胀,因此请确保每个用户在表中只能有一个条目。您还可以使用时间戳并有一个批处理作业来经常修剪表。
于 2009-12-30T16:17:49.297 回答
1
Firefox 将使用403 Forbidden
.
Chrome 将使用403 Forbidden
或清除401 Not Authorized
。
Safari 将始终提示您是否要缓存。
IE是大便。
于 2012-12-21T22:13:39.517 回答