猿问

通过PHP进行HTTP身份验证注销

通过PHP进行HTTP身份验证注销

注销HTTP身份验证保护文件夹的正确方法是什么?

有一些解决方法可以实现这一点,但它们有潜在的危险性,因为它们可能是错误的或在某些情况/浏览器中不起作用。这就是为什么我正在寻找正确和干净的解决方案。


月关宝盒
浏览 443回答 3
3回答

DIEA

亩。没有正确的方法,甚至没有一个跨浏览器一致的方式。这是来自HTTP规范的问题(第15.6节):现有的HTTP客户端和用户代理通常会无限期地保留身份验证信息。HTTP / 1.1。没有提供服务器指示客户端丢弃这些缓存凭据的方法。另一方面,第10.4.2节说:如果请求已包含授权凭据,则401响应表示已拒绝授权这些凭据。如果401响应包含与先前响应相同的挑战,并且用户代理已经尝试过至少一次认证,则应该向用户呈现响应中给出的实体,因为该实体可能包括相关的诊断信息。换句话说,您可以再次显示登录框(如@Karsten所说),但浏览器不必遵守您的请求 - 因此不要过多依赖此(错误)功能。

繁花如伊

在Safari中很好地工作的方法。也适用于Firefox和Opera,但有警告。Location: http://logout@yourserver.example.com/这告诉浏览器使用新用户名打开URL,覆盖前一个用户名。
随时随地看视频慕课网APP
我要回答