Salve ragazzi,
ho un dubbio circa la sicurezza sul passaggio delle Variabili tramite GET. Leggendo le varie guide su possibili attacchi, vorrei capire una cosa. Allora, io ho tutta un'area utenti all'interno di un sito. L'utente si logga, poi viene rimandato ad una serie di pagine personali tramite il passaggio dell'id utente. Ad esempio, ho una pagina carrello, richiamata così:

www.miosito.it/carrello.php?id=1

l'id è relativo all'utente 1 in questo caso. Ora da quel che ho capito basterebbe richiamare questo link per poter accedere all'area personale di questo utente. Come fare per impedire che ciò accada?

Ecco lo script che controlla i dati del login

Codice PHP:
<?
session_start
();
if (isset(
$_POST['username']) && isset($_POST['password'])) {
include(
"config.php");
mysql_connect($db_host,$db_user,$db_password,$db_name) or die ("errore nella connessione");
mysql_select_db("$db_name") or die ("errore nella selezione del database");

  
$hpw=md5($_POST['password']);
  
$result=mysql_query("select * from utenti where username='$_POST[username]' and password='$hpw'");
if (
mysql_num_rows($result)!=0) {
     
$valori = @mysql_fetch_assoc($result); //metti i valori del db in un array associativo
     //passa i valori come parametro richiamando la pagina
          
$_SESSION['username']=$valori['utente_id'];
     
$_SESSION['nome'] = $valori['nome'];
     
$_SESSION['cognome'] = $valori['cognome'];
     
header('location: indexbuy.php?id_gest='.$valori['utente_id'].'');
  } else
    echo 
"Utente non riconosciuto";
}
mysql_close(); 
?>
come vedete il valore dell'id è richiamato dal database con le sessioni user a pass. Poi viene usato per rimandare alla pagine relativa a quell'utente. In questo caso indexbuy.php?............

Come posso risolvere il problema? Si può nascondere la variabile, ho letto di qualcosa tipo "sessionphp" che viene generata ad ogni login (spero di non aver detto una cavolata), oppure di sessioni che dopo 5 minuti si distruggono ecc.

Mi potete illuminare?