Se stai archiviando la sessione nel database, aggiungi un meccanismo in base al quale l'ID utente viene archiviato come parte del record di sessione del tuo database, creando quella che mi piace chiamare una "sessione semantica". Quando l'utente effettua il login, controlla se esiste già un'altra sessione; in tal caso, utilizzare session_id()
per fissare la nuova sessione all'ID della vecchia sessione, che si unirà a loro (e dovrebbe cambiare l'ID della nuova sessione per tutte le richieste successive). Assicurati di eseguire questa azione solo durante la fase di accesso, altrimenti potresti ritrovarti con condizioni di gara strane di due sessioni che cercano di essere l'un l'altro e "scambiarsi".