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!"