Dann poste ich mal meinen Vorschlag, der relativ sicher sein sollte.
Das soll jetzt keine Grundsatzdiskussion werden, aber relativ ist genauso ein Unwort wie eigentlich und da liegt meistens das Problem.
Es sollte keinen Grund geben über einen GET Parameter eine Datei zu includen.
Wenn man das wirklich tun möchte, dann muss man penibel alles filtern. Dazu gehören dann auch wie von d0nut angesprochen die Steuerzeichen, die
du nicht berücksichtigst sehr oft nicht berücksichtigt werden.
Wenn man diese Variante wählt, dann sollte man einen whitelistfilter einbauen.
Heisst, dass man alle erlaubten Kombinationen in ein Array steckt und das bei dem aufrufen mit dem Input vergleicht.
Man kann auchauf Filterklassen zurück greifen, die schon "relativ" gut sind. Relativ in dem Fall, da es keine 100% sichere Lösung gibt.
Daher sollte man lieber den Case voll ausschreiben. Dann spart man fast immer Zeit und nerven. Denn es gibt genug Leute die langeweile haben und es gibt sehr gute Tools und Manuals (vor allem für den Firefox) die die Manipulation extrem vereinfachen, was man nicht unterschätzen sollte.
//edit
Ich habe eine allgemeinere Formulierung gewählt