Unset a specefic session using session id

前端 未结 4 1931
醉梦人生
醉梦人生 2020-12-11 08:13

I am the admin of the the site.I want unset a particular session, i know its session id

The users just stating the session like this

session_id(\"us         


        
相关标签:
4条回答
  • 2020-12-11 08:44

    You could try to get session_save_path() (in this directory session files are stored). When you are using default session names the filename looks like sess_jgimlf5edugvdtlaisumq0ham5 where jgimlf5edugvdtlaisumq0ham5 is user session id so you can just unlink this file unless you dont have permissions to edit those files.

    0 讨论(0)
  • 2020-12-11 08:54

    As far as I know, the only supported way to do so with the default session handler is to impersonate the user with session_id("usernumber"); and then remove the values.

    You could also store sessions in a database, which would make this all pretty straightforward, yet you need to write your own session handling code.

    BTW, the session ID is supposed to be a long random string which you cannot guess. Using 123 means that any anonymous visitor can easily log in with any user credentials.

    0 讨论(0)
  • 2020-12-11 08:57

    Answer by Jack Luo on php.net

    $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();
    
    0 讨论(0)
  • 2020-12-11 09:07

    Without reverse enginering the session handler....

    <?php
    
    session_id($_GET['killsid']);
    session_start();
    session_destroy() || die "failed to kill";
    
    0 讨论(0)
提交回复
热议问题