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