Originariamente inviato da k.b
NON SI PUO' FARE NULLA... la sicurezza e la comodita' sono sui due piatti di una bilancia...
wow... che deludente conclusione... cmq grz mille
Originariamente inviato da k.b
Le sessioni non risolvono niente perche' tanto il session id viene propagato tramite cookie.
E' vero ma (sempre leggendo sulla rete) ho scoperto un escamotage per rendere il furto dell'id di sessione immune di efficacia... ve lo espongo per avere conferma:
Codice PHP:
if(checklogin($user, $pass)=== TRUE)
{
$_SESSION['user_loggato']= $user;
$_SESSION['id_loggato']= $id_user_nel_db; // per fare le query su i sui dati
$_SESSION['token']= sha1(uniqid(microtime(), true)); // per prevenire cross scripting (soprattutto in get)
// e qui viene il mio "trucchetto"
$_SESSION['ip_utente_loggato'] = $_SERVER['REMOTE_ADDR'];
}
Salvando l'ip dell'utente ad ogni richiesta di permessi oltre a verificare l'isset delle 4 variabili di sessione verifico che l'ip coincide con quello salvato al momento del login!!
Codice PHP:
if(isset($tutte_le_variabili_di_sessione_login))
{
if($_SESSION['ip_utente_loggato'] != $_SERVER['REMOTE_ADDR'])
{
exit('e tu chi sei??!');
}
else
{
echo 'tutto ok';
}
}
Se qualcuno rubasse id di sessione non se ne farebbe nulla in quanto dovrebbe anche conoscere l'ip dell'utente vittima del furto, e dovrebbe impostarsi l'ip uguale a quello (cosa che non sò se è possibile tramite qualcosa)