Personnellement j´utilise la deuxième, mais il suffit de restreindre la liste des fichiers incluables, par exemple comme ça.
<?php
// Liste des pages autorisées
$liste_pages = array ("accueil.php","forum.php","liens.php");
// On récupère la page demandé dans l´url
// Par défaut 0:
$action = (isset($_GET["action"])) ? $_GET["action"] : 0;
// On affiche la page qu´il faut
include $liste_pages[$action];
?>
Donc si ya pas d´action ou si l´action vaut 0, ce sera la page d´accueil, si l´action vaut 1 ce sera le forum et si l´action vaut 2 ce sera la page de liens.