Devi filtrare ogni dato che possa provenire da una fonte non sicura, o meglio, devi filtrare tutti i dati che non vengono da una fonte sicura (database)

Codice PHP:
if (isSet($_GET['page'])) {
   if (
controlla($_GET['page'])) {
      
$page $_GET['page'];
      include(
"$page");
   } else {
      echo 
"Operazione non valida!";
   }
} else {
   echo 
"Non hai specificato la pagina";
}

function 
controlla($str) {
   if (
eregi("^[0-9a-zA-Z_-]*$",$str)) {
      return 
true
   } else {
      return 
false
   }

Con questo codice (l'ho scritto al volo quindi spero non ci siano errori) il nome della variabile get viene controllata, nel caso in cui contenga solo numeri, lettere o i caratteri - e _, viene inclusa la pagina, altrimenti si ottiene il messaggio "Operazione non valida!"