4

好的,所以我没有使用任何会话变量,而是我的代码如下所示:

if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="Enter your Twitter username and password:"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Please enter your Twitter username and password to view your followers.';
    exit();
}

$username = $_SERVER['PHP_AUTH_USER'];
$password = $_SERVER['PHP_AUTH_PW']; 

所以,我的问题是,当用户想要退出他们的(在这种情况下)Twitter 登录凭据时,我该如何销毁这个登录会话?

4

2 回答 2

7

没有办法破坏http认证登录服务器端。这是这种登录形式的最大缺点之一。

于 2009-07-01T00:03:31.993 回答
4

您所能做的就是发送另一个 401 标头。浏览器通常会“忘记”旧值,弹出另一个用户/密码输入对话框,如果用户随后按下“中止”按钮,他们将被“注销”。两个缺点:

  • “中止登录以注销”对话框可能会让用户感到惊讶
  • “通常”的意思是:最好不要依赖它。

编辑:并且已经回答,HTTP authentication logout via PHP

于 2009-07-01T00:17:14.743 回答