销毁$ _server会话?
-
21-08-2019 - |
题
好的,所以我不使用任何会话变量,而是我的代码看起来像:
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身份验证登录服务器端。这是这种登录形式的最大缺点之一。
不隶属于 StackOverflow