Kan iemand me vertellen wat ik nog meer kan beveiligen met dit script?

<?php if(!empty($_GET['p'])){
      $pages_dir = "pages";
      $pages = scandir($pages_dir, 0); 
unset($pages[0], $pages[1]);
$p = $_GET['p'];

    if(in_array($p. '.php', $pages)) {
        include($pages_dir .'/'. $p .'.php');
    }else{
        echo 'Sorry pagina niet gevonden';
    }

}else{
    include ('pages/home.php');
}; ?> 

Het is de bedoelding als je $_GET['p'] hebt dat ie dan de pagina include.

Alvast bedankt!
Of gebruik maken van een "Bootstrap". Eén simpele htaccess rule is dan genoeg om zoekmachine vriendelijke url's te maken (ik neem aan dat de TS'er z'n methode gebruikt om zoekmachine vriendelijke url's te maken) :

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /index.php?%{QUERY_STRING}

Je explode de requestURI op het slash teken en je voert de nodige controles uit. Dit is voor mij de beste methode gebleken na gedurende jaren gekloot te hebben met verschillende oplossingen (zoals hier besproken).

Ik snap dat deze reactie geen antwoord geeft op de vraag van de TS, maar het is meer bedoelt als een alternatief.
Bovengenoemde oplossing is dus de mooiste.

Reageren