rischio di dire una fesseria... ma la dico (pronto ad essere rettificato)
fare
<?php include($_GET['p'].'.php'); ?>
è il peggiore uso possibile che si possa fare delle variabili $_GET...
Infatti la loro valorizzazione è controllabile al 100% dall'utente il quale nella barra degli indirizzi può scrivere ciò che gli pare...
Se ad esempio scivesse manualmente:
link.php?p=nome_di_un_file_protetto
nella pagina web link.php verrebbe ad essere incluso il file "nome_di_un_file_protetto.php"
addirittura potrebbe fare percorsi
link.php?p=../cartella/nome_di_un_file_protetto
insomma io per quel pò che ho capito di $_GET e include questo mi sembra un sistema sbagliatissimo e pericolossissimo