3

我注意到一旦 Firefox 弹出一个模式来响应 HTTP 响应中的 WWW-Authenticate 标头。然后,Firefox 会保存用户名/密码,直到 Firefox 关闭。Web Developer插件使有开发意识的人可以注销。但是应该向浏览器发送什么 HTTP 消息以丢失这些缓存的凭据?

4

3 回答 3

3

恐怕没有办法优雅地向浏览器发送命令以停止保留(并在每个 http 请求中向您的服务器发送)您在用户导航开始时回收的凭据(通过 http 401 响应)。

于 2009-11-11T19:41:50.753 回答
2

我找到了一个合理的解决方法。这有点涉及,但效果很好。我创建了一个带有 GUID 字段的表。它没有从任何记录开始。这是解决方案:

  1. 用户单击“注销”。
  2. 注销脚本将 GUID 添加到新表。
  3. 注销脚本将用户重定向到以 GUID 作为参数的 URL。
  4. 当用户点击带有 GUID 作为参数的 URL 时,系统会在表中搜索 GUID。
    1. 如果 GUID 在表中,请删除带有 GUID 的记录并提供无效的用户名/密码响应代码(即使凭据正常)。
    2. 如果 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 回答