PHP: Prevenire il dirottamento della session con token memorizzato come cookie?

Sto lavorando su una RIA in PHP. Per cercare di prevenire il dirottamento di session, ho introdotto un token, generato all'accesso, basato su un numero salt, ISO-8601 e l'IP dell'utente.

$salt = "blahblahblah"; $tokenstr = date('W') . $salt . $_SERVER['REMOTE_ADDR']; $token_md5 = md5($tokenstr); define("token_md5", $token_md5); 

Attualmente, è passato da GET o POST ad each richiesta, ma mi chiedevo se potevo evitarlo offrendo come cookie, poiché dipende dall'IP dell'utente. Sto solo imparando le sessioni, quindi mi chiedevo se ci sono problemi di sicurezza nel farlo? È una ctriggers idea?

Qualsiasi dato che l'utente conserva può essere rubato; qualsiasi dato inviato da un visitatore potrebbe essere falsificato. Meglio memorizzare l'IP remoto in $_SESSION quando la session è aperta e confrontare l'IP remoto con each richiesta. Se non corrispondono, probabilmente è un dirottamento. Genera un nuovo ID e riaccedi l'utente.

session_regenerate_id() è ottimo per prevenire il dirottamento di session.

session_regenerate_id – Aggiorna l'ID della session corrente con uno appena generato

Ruota continuamente session_id per each visita di pagina. Rende molto difficile dirottare un bersaglio in costante movimento.

Ho fatto una RIA con lo stesso approccio che hai fatto e ho appena impostato SSL sull'applicazione per sicurezza. Poiché Flex e remoting sono senza session. Consiglio di usare SSL. Il mio collaboratore ha anche sviluppato un'applicazione con login / logout utente e ha fatto la stessa cosa.