désolé si ce sujet se repete à chaque fois j'ai bien parcouru les messages du forums !
j'utilise cette méthode d'inclusion mes fichiers se trouvent dans un dossier include
1er script
<?php
if(isset($_GET['page']) && (file_exists('include/'.$_GET['page'].'.php'))) { include('include/'.$_GET['page'].'.php'); }
elseif(!isset($_GET['page'])) { include('include/accueil.php'); }
else { include('include/dehors.php'); }
?>
j'ai regardé coté configuration je suis chez free register_globals offla fonction file_exists permettait jusqu'à la version 4 de parer l'inclusion d'un fichier distant en incluant simplement un contrôle de l'existence du fichier en local mais depuis le version 5 l'inclusion pose un probleme de sécurité puisque file_exists permet d'inclure un fichier par le biais des prtoclole http:// ftp://
source:http://www.nexen.net/php/function.file-exists.php
j'ai effectué plusieurs recherche sur le net j'ai trouvé ce script
2eme script
<?php
define("PATH", "./".$_GET['path']."/");
if(!isset($_GET['page'])) $page='accueil'; else $page=$_GET['page'];
include (in_array(PATH . $page . ".inc.php", glob(PATH . "*.inc.php"))) ? PATH . $page . ".inc.php" : PATH . "default.inc.php";
?>
la méthode de l'article phpdebutant-article68.php est la plus sure mais pour un site qui a plusieurs pages c'est moins maintenable.
ma question comment rendre le script décrit en haut plus efficace est ce que vous pensez que le 2eme script est plus efficace
contre les attaques xss
l'erreur est l'origine de toute découverte !
merci pour votre aide vos commentaires.