PHP: rigenerare una sessione

Short link

La documentazione ufficiale di PHP raccomanda un approccio specifico nella rigenerazione di una nuova sessione.

La soluzione รจ la seguente:


function my_session_regenerate_id() {

    $new_session_id = session_create_id();
    $_SESSION['new_session_id'] = $new_session_id;
    
    
    $_SESSION['destroyed'] = time();
    
    
    session_commit(); // Chiude la sessione corrente

    
    session_id($new_session_id); // Apre la nuova sessione
    ini_set('session.use_strict_mode', 0);
    session_start();
    ini_set('session.use_strict_mode', 1);
    
    unset($_SESSION['destroyed']);
    unset($_SESSION['new_session_id']);
}