如何删除“授权:基本用户名:密码”来自浏览器的标头

发布于 2024-12-10 01:55:25 字数 494 浏览 0 评论 0原文

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

本机登录提示

并一直在关注史蒂文·桑德森的博客发布

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

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

I've been trying to make use of the native login prompt that is available in browsers:

Native login prompt

and have been following Steven Sanderson's blog post.

As mentioned in the blog, once a user enters their login details once the browser then sends the header Authorization: Basic username:password in all future requests to the login URL. This means that if a user logs out, but doesn't close the browser window, the next time they visit the login page, they are logged in automatically when visiting the login page. Effectively the browser stores the authentication details until the browser closes down - leaving your account open to unauthorised access.

Is there a way to make the browser forget the authorization information so that the user cannot log in again wihtout re-entering their details?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

仙女 2024-12-17 01:55:25

正如 wikipedia 中所写:

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

看来一般来说是没有办法的。

As it written in wikipedia:

Existing browsers retain authentication information until the tab or browser is closed or the user clears the history. [1] HTTP does not provide a method for a server to direct clients to discard these cached credentials. This means that there is no effective way for a server to "log out" the user without closing the browser. This is a significant defect that requires browser manufacturers to support a 'logout' user interface element (mentioned in RFC 1945, but not implemented by most browsers) or API available to JavaScript, further extensions to HTTP, or use of existing alternative techniques such as retrieving the page over SSL/TLS with an unguessable string in the URL.

Seems it is no way in general.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文