salut
alors là, attention!!! include et get == danger absolu, pas d'à peu près possible...
pour commencer, privilégier toujours include_once()
ensuite, une fonction dans une classe
const INCLUDE_IMP = "Fichier introuvable.Impossible de poursuivre.";
function insert($insertion) {
if (file_exists($insertion)) {
$url = $insertion;
}
else {
throw new Exception(self::INCLUDE_IMP);
}
//efface le cache php de file_exists
clearstatcache();
return $url;
}
on l'utilise comme çà
try {
//$scanne_f est une instance de la classe
$url = $scanne_f->insert('includes/menu.php');
include_once($url);
}
catch (Exception $e) {
echo $e->getMessage();
}
dans le dossier includes on place un htaccess par sécurité
une autre solution est de faire un tableau php contenant les fichiers à inclure et de verifier si la variable get est présente dans le tableau sinon die(), on quitte ou insére un fichier par défaut.
$tab_inc = array('fichier' => 'includes/fichier.php');
et
if (in_array($_GET['a_inclure'],$tab_inc)) {
on inclu
} else {
die('corruption de la variable');
ou include par défaut
}
toujours utiliser
if (!empty($_GET('ma_var')) avant traitement avec trim(htmlentities($_GET['ma_var']))
et surtout ne pas hésiter à consulter le manuel php en ligne, il est vraiment top et à jour.
bon code == compréhension