Bonjour,

J'ai une question a propos de la sécurités de mon site, j'ai suivis ce tutoriel : http://www.grafikart.fr/tutoriels/decomposer-site-php-102

Voici le code qui doit normalement sécuriser mon site ?

<?php
define("WEBROOT","/site/");
if(!isset($_GET"page"])){
    $_GET"page"]="index";
    }

    if(!file_exists("contenu/".$_GET"page"].".php")){
        $_GET"page"]="404";
        }

        if(!preg_match("#^[a-zA-Z0-9]+$#",$_GET'page'])){
            $_GET'page']="404";
            }

            ob_start();

            include "contenu/".$_GET"page"].".php";

            $contenu = ob_get_contents();

            ob_get_clean();

            include "template.php";
?>

Avec ce code, j'ai un probleme :

Par exemple quand j'accède a une page comme sa :
http://localhost/site/tracks
La ya pas de probleme.

Mais si elle contient des sous catégorie... par exemple :
http://localhost/site/tracks/motocross/nomdutrack
La page me dirige vers la page d'erreur.

Comment remédié a ce probleme ?

Merci d'avance
Alex

3 réponses


ifabe
Réponse acceptée

Bonjour,

Je suis pas encore bien doué avec les expressions régulières mais...
Ne serait-ce pas parce que, tu n'acceptes pas les "/" ?
Si tu ajoutes un \/ dans ton preg_match?

# if(!preg_match("#^[a-zA-Z0-9\/]+$#",$_GET'page'])){  
 $_GET'page']="404";  
 }

Ca donnerai pas mieux?

Bonne soirée :)
iFabe

C'est bon

Merci beaucoup :-)

De rien :)

Bon code :)