使用会话ID取消设置specefic会话

Sar*_*ath 4 php session sessionid

我是该网站的管理员.我想取消设置一个特定的会话,我知道它的会话ID

用户只是说这样的会话

session_id("usernumber");
session_start();
Run Code Online (Sandbox Code Playgroud)

假设用户A有用户名"123"我想销毁用户A的所有值,用户A在设置为session_id("123")之后不会重新生成sessio_id();

我怎样才能解除对用户A的破坏?

Har*_*gar 10

在php.net上回答Jack Luo

$session_id_to_destroy = 'nill2if998vhplq9f3pj08vjb1';
// 1. commit session if it's started.
if (session_id()) {
    session_commit();
}

// 2. store current session id
session_start();
$current_session_id = session_id();
session_commit();

// 3. hijack then destroy session specified.
session_id($session_id_to_destroy);
session_start();
session_destroy();
session_commit();

// 4. restore current session id. If don't restore it, your current session will refer     to the session you just destroyed!
session_id($current_session_id);
session_start();
session_commit();
Run Code Online (Sandbox Code Playgroud)

  • 这个很棒.正是我所寻找的,所以你可以踢掉其他人的系统. (2认同)

sym*_*ean 7

没有反向引擎会话处理程序....

<?php

session_id($_GET['killsid']);
session_start();
session_destroy() || die "failed to kill";
Run Code Online (Sandbox Code Playgroud)