【问题标题】:How to remove 'Authorization: Basic username:password' header from browser如何从浏览器中删除“授权:基本用户名:密码”标头
【发布时间】:2011-10-17 03:25:05
【问题描述】:

我一直在尝试利用浏览器中提供的本机登录提示:

并一直关注Steven Sanderson's blog post。

如博客中所述,一旦用户输入他们的登录详细信息,浏览器就会在以后的所有请求中向登录 URL 发送标头 Authorization: Basic username:password。这意味着如果用户注销但没有关闭浏览器窗口,则下次访问登录页面时,他们会在访问登录页面时自动登录。浏览器会有效地存储身份验证详细信息,直到浏览器关闭 - 让您的帐户对未经授权的访问开放。

有没有办法让浏览器忘记授权信息,让用户在重新输入详细信息的情况下无法再次登录?

【问题讨论】:

    标签: javascript http browser security browser-security


    【解决方案1】:

    正如wikipedia中所写:

    现有浏览器会保留身份验证信息,直到关闭选项卡或浏览器或用户清除历史记录。 [1] HTTP 没有为服务器提供一种方法来指导客户端丢弃这些缓存的凭据。这意味着服务器没有有效的方法可以在不关闭浏览器的情况下“注销”用户。这是一个重大缺陷,需要浏览器制造商支持“注销”用户界面元素(在 RFC 1945 中提到,但大多数浏览器未实现)或 JavaScript 可用的 API、HTTP 的进一步扩展或使用现有的替代技术,例如在 URL 中使用不可猜测的字符串通过 SSL/TLS 检索页面。

    看来一般是没有办法的。

    【讨论】:

    • 感谢迷惑恶魔。我喜欢不可猜测的字符串的想法,但这是不行的,因为过去的登录 URL 将存储在浏览器历史记录中。你碰巧知道更多关于RFC 1945 的信息吗?我正在尝试在 Mobile Safari 中执行此操作,因此它实现了一个注销系统,它将把我整理出来。
    猜你喜欢
    • 2015-06-16
    • 2019-07-03
    • 1970-01-01
    • 2021-02-04
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    相关资源
    最近更新 更多