probleme pour securiser les includes : marche pas !
Posté : 21 févr. 2007, 11:55
Salut, 
j'ai utilisé une méthode classique pour sécuriser mes includes, mais cela ne marche pas...
Voici mon bout de code :
), ou une page qui est dans le tableau (page2 par exemple) mais dont le fichier page2.php a été effacé, j'obtiens toujours le message suivant :
Merci de votre aide !
j'ai utilisé une méthode classique pour sécuriser mes includes, mais cela ne marche pas...
Voici mon bout de code :
<?php $page = (!empty($_GET['page'])) ? htmlentities($_GET['page']) : 'index';
// On définit le tableau contenant les pages autorisées
$pageOK = array('index' => 'index.php',
'page1' => 'page1.php',
'page2' => 'page2.php',
'erreur' => 'erreur.php');
// On teste que le paramètre d'url existe et qu'il est bien autorisé
if(!array_key_exists($page, $pageOK)) // s'il n'y a pas le nom de la page dans la tableau => affiche l'accueil du site
include('index.php');
elseif(!is_file($pageOK[$page])) // si le nom de la page existe dans le tableau mais que le fichier correspondant a été effacé => message 404 d'erreur
include('erreur.php');
else // sinon on affiche la page demandée
include($pageOK[$page]);
?>
Pour les pages déclarées dans le tableau, cela fonctionne bien, mais quand je fais un test avec une page qui n'est pas dans le tableau (toto par exemple ouChamp 'toto' inconnu dans field list
Je ne vois pas ce qui cloche !Champ 'page2' inconnu dans field list
Merci de votre aide !