Buonasera a tutti.

Sto usando uno script di login già pronto questo, che sembra -a me che sono ignorante- relativamente sicuro, per quanto può esserlo un sito senza SSL: cripta le password in md5 e usa le sessioni per tenere traccia della navigazione dell'utente.

Per quanto posso apprezzare, ha un unico difetto: per proteggere le pagine fa così:

Codice PHP:
<? include('classe.php');
$page_protect = new Access_user;
$page_protect->access_page();
?>
<html>
<body>


Contenuto protetto solo per utenti loggati</p>
</body>
Cioè in pratica la funzione access_page() verifica che l'utente sia loggato e se non lo è fa un redirect 302 alla pagina di login.

Dato che ho esigenza di evitare di mandare codici 302 in homepage (sapete, per via dei motori di ricerca), ho pensato a una soluzione:

Codice PHP:
if (isset($_SESSION['user']) && isset($_SESSION['pw'])) {

    include(
$_SERVER['DOCUMENT_ROOT']."/classes/access_user/access_user_class.php"); 
    
$query3 "SELECT * FROM users WHERE login = '".$_SESSION['user']."'";
    
$controllo2 = (mysql_query($query3$db));

    while (
$dato2=mysql_fetch_array($controllo2)) {
        echo 
"<h2>Hello ".$dato2['real_name']."!</h2>";
        echo 
"

Sei loggato come utente [b]"
.$dato2['login']."[/b]!!</p>";
    }

} else {
echo 
"<a href=\"http://127.0.0.1/login/login.php\">Login</a>";

Ora vorrei sapere: sto facendo una fagianata?
Leggere il dato $_SESSION['user'] per sapere se un utente è loggato e con che username, è un metodo come un altro oppure aumenta di parecchio le possibilità di intrusione?

Se faccio print_r($_SESSION) ottengo:
Array ( [referer] => [user] => provaa [pw] => provaa )

però mi sembra di capire che dall'esterno non si possono vedere questi dati. Ah, ho letto che dallo stesso hosting si potrebbe... non è il mio caso: avrò un server tutto mio

Non dovrò trattare dati importanti degli utenti (beh insomma! username, pass ed e-mail, più i dati di utilizzo del sito), però una intrusione non sarebbe comunque simpatica.


Che dite, quel "if (isset($_SESSION['user']))" ci può stare o è una str... galattica?