An eurer Stelle würde ich vorsichtig sein, denn mit euren Scripts reißt ihr riesige löcher in euer System.
Ein Beispiel:
der Link von Sonicks ist ein potentielles Loch:
datei.php?page=ORDNER&action=DATEI.php
denn wenn man auf einem Linux Server statt DATEI.php /etc/htpasswd eingibt, bekommt man eine schöne Liste von Daten. Ok, nun hat Sonicks die Datei die per URL übergeben wurde nicht direkt includiert, aber es gibt viele, die auf solche Gedanken kommen, weils so schön einfach ist.
Generell kann man so schlecht geschützte Server aushebeln und an Passwörter heran kommen. Da die meisten die so etwas programmieren, noch nicht lange dabei sein können, und da die, die nicht lange dabei sind eben nicht bei guten Hostern sich einkaufen können, würd ich euch generell abraten in so einem Stil zu programmieren.
Die beste Methode ist immer noch diese (mMn):
PHP:
switch($action) {
case "gb":
include("gb.php");
break;
case "news":
include("news.php");
break;
...
...
default:
include("wasauchimmer.php");
}
Ein Wort zu $_POST oder $_GET bzw. $HTTP_[GET|POST|COOKIE]_VARS:
Auf den meisten Webservern ist die Einstellung noch nicht gesetzt, das die Variablen nicht mehr automatisch zur Verfügung gestellt werden. Deshalb muss das nicht so oder so heißen. Verwirrt bitte die Leute nicht, wenn es so weit ist, kommen sie sowieso noch mal.
Zu diesem Thema hab ich mal einen Workaround gepostet, der die Variablen auch bei Servern zur Verfügung stellt, bei dem die Option gesetzt ist. Allerdings sollte man schon auf die neuen Verfahren umsteigen, allein um die Scripte sicherer zu machen.
Ach egal...
Ciao, F.o.G.