Quando si visualizza una pagina con contenuto che solo gli utenti loggati dovrebbero vedere, ho semplicemente controllato
if(isset($_SESSION['hasLoggedIn']))
{
//show content
}
else
{
echo 'you must log in';
}
In questo articolo consiglia di verificare l'indirizzo IP e browser ogni volta.
$_SESSION['login_string'] = hash('sha512', $password.$ip_address.$user_browser);
È necessario? Pensavo che dal momento che le variabili di sessione esistessero solo sul server, non sono propense ad attaccare? Non riesco a capire perché $password
è lì. Se la password viene passata a ciascuna pagina, non sarebbe più facile per il database con la userid / password da interrogare, o è l'idea che in questo modo il database non debba essere interrogato (che richiede molto tempo) ?