好的,所以我不使用任何会话变量,而是我的代码看起来像:

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登录凭据时,如何销毁此登录会话?

有帮助吗?

解决方案

您所能做的就是再次发送401个标头。浏览器通常会“忘记”旧值,弹出另一个用户/通行输入对话框,如果用户按下“流产”按钮,则它们将被“登录”。两个缺点:

  • “中止登录名”对话框可能会使用户感到惊讶
  • “通常”是指:最好不要依靠它。

编辑:已经回答了, 通过PHP注销HTTP身份验证

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top