销毁$ _SERVER会话?

问题描述:

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

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的登录凭据?

+1

同样的问题,同样的答案在http://*.com/questions/449788/http-authentication-logout-via-php – VolkerK 2009-07-01 00:28:30

你只能发送另一个401头。浏览器通常会“忘记”旧值,弹出另一个用户/通过输入对话框,如果用户按下“中止”按钮,它们将被“注销”。 两个缺点:

  • 的“中止登录注销”对话框可能会让用户有点
  • “通常”是指:最好不要依赖于它。

编辑:而且已经有了答案,HTTP authentication logout via PHP

+0

这再加上其他可能的方法在php手册的评论中被提及。然而就像你说的,他们不能保证工作。 链接:http://us3.php.net/manual/en/features.http-auth.php#76511 – MitMaro 2009-07-01 00:20:02

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