我明白,没有“真正的解决方案”注销http,因为它是无状态的。不过,我需要的只是解决方法。我试图实现的是当一个注销链接被点击时,它重定向到logout.php文件。该文件再次调用基本的auth头文件。我想让php代码传入一个假密码,然后重定向到我的主页,在那里用户将被“注销”。PHP模拟一个注销功能为http基本认证
我意识到他们实际上不会被注销,而是浏览器将尝试使用最近传递的身份验证凭据,这些凭据已传入并且不正确,因此会使用户重新登录。
我基本上没有PHP的经验,并无法弄清楚如何编码通过一个错误的密码。
任何帮助表示赞赏。
logout.php
<?php
session_start();
session_write_close();
header('HTTP/1.1 401 Access Denied');
header('WWW-Authenticate: Basic realm="HTTPS File Upload"');
header('HTTP/1.0 401 Unauthorized');
header('Location: http://www.homepage.com')
?>
你能解释一下你为什么这么做吗?这似乎极其令人费解,因为可能没有很好的理由。顺便提一下,HTTP认证信息存储在cookie中。 – thatidiotguy
你不能只是取消设置用户认证的会话变量(如果你使用的话)? – bansi
这是一个低容量页面,其中有几个用户可以访问并登录,然后上传文件以供我们访问。目前,该网站根本没有注销功能,从网站基础设施点看起来很糟糕。我不太了解有关php或http的信息,也不知道如何解决这个问题,看起来像一个似是而非的解决方法 – CPM