eheheh se cerchi sul forum trovi svariati post a riguardo :9

cmq si basa tutto su un principio semplice...tramite url ti deve venir passato un modulo da caricare ed avviare...per maggiore sicurezza, quando devo fare le cose modulari "veloci" faccio una struttura abbastanza semplice...ovvero

metto tutti i file in una data directory, verifico che il modulo richiesto con il prefisso e suffisso, aggiunto alla directory nella quale sono presenti i moduli e verifico se quella dir si riferisce a quella... (lo so sembra ostrogoto...faccio un esemoio)

se hai tutti i moduli dentro la cartella modules nella root del sito...e io passo nell'url

index.php?page=../index.php

scoppierebbe tutto

perché non verrebbe richiamato
modules/index.php ma modules/../index.php che a sua volta lo richiamerebbe a vita dato che cercando il parametro page partirebbe di nuovo il load del modulo e cosi via...

quindi il check sulla dir è d'obbligo...inoltre ti consiglio di mettere suffisso e prefisso cosi non possono richiamare tutti i file che vogliono ma solo file che hanno una data nomenclatura

ad es il moduli li potresti chiamare

module.NOME.php



e un'ultima cosa...non mettere "direttamente" il codice nel modulo, ovvero quando requiri il modulo...il modulo non deve contenere direttamente il codice ma una funzione che richiamata fa il tutto

ovvero...dal codice dell'index fai...

codice:
.
.
.
require_once($module_path);
$content = module_main(....PARAMETRI...);
.
.
.
e nel modulo metti

codice:
<?php
.
.
.
function module_main(....PARAMETRI....) {
  .
  .
  .
  return $content;
}
?>
e nell'index stampi a video $content, in questo modo hai un po di sicurezza e non possono richiamare direttamente i moduli e quindi eviti tanti rischi e problemi