如何终止PHP中的用户会话?

我已使用带有以下代码的img标签跟踪了在线用户会话.

<img src="http://www.somedomain.com/track/login.php" alt="" title="" width="1" height="1" />

使用上面的代码,我创建了一个管理部分来显示在线用户.

现在,由于某种原因.我必须从管理部分结束在线用户的会话.

谁能帮我一个.

注意:

在用户页面中,用户会话使用

if(authenticated) {
 $_SESSION['username']=name;
 $_SESSION['id']=id;
}

解决方法:

我将以以下方式实现此目的:使用文件存储会话,将这些文件存储在您具有读/写访问权限的某个特定位置,为它们指定一个可预测的名称(例如,用户名上的md5)以及何时需要结束用户会话,只需删除属于该用户的文件.

//get current logged in user user - this way we get it as a GET or POST parameter - NOT safe, because the user can modify this parameter - you could get it from the login form for example
$current_user = md5($_REQUEST["user"]); 
// start user's sessions like this
ini_set('session.save_handler', 'files');
//load the session of the current user 
$current_user = md5($_REQUEST["user"]);
//set the current session id to the one corresponding to current user
session_id($current_user);
session_save_path("/tmp/sessions/");
session_start();

在您的管理部分中,获取用户名作为参数,在其上计算md5,然后删除该用户的会话:

$current_user = md5($_REQUEST["user"]);
unlink("/tmp/sessions/$current_user");

此代码可能不适合您使用,但是这是遵循的好方法

上一篇:php-跟踪数据更改


下一篇:人脸实时签到(three.js+tracking.js)基于浏览器