globe: include einer Variabel mit Get

Beitrag lesen

n'abend,

leider erwähnst du mit keinem einzigen Wort was passiert, oder eben gerade nicht passiert. Was passieren soll wurde soweit erläutert und mit Beispielcode  untermauert, dass ich gerne folgendes los werden möchte:

(a) Benutzereingaben möchten grundsätzlich geprüft werden. Wenn du die URL www.domain.com/script.php?page=home betrachtest, so ist page als Benutzereingabe anzusehen. Warum? Na weil sie spielend einfach vom Benutzer manipuliert werden kann. Benutzereingaben möchten zunächst auf Existenz und dann auf Validität geprüft werden.

$erlaubteSeiten = array( 'home', 'übermich', 'überfrösche', 'dersinndeslebens' );  
$unterSeite = (isset($_GET['seite']) && in_array($_GET['seite'], $erlaubteSeiten)) $_GET['seite'] : 'home';

Diese Zeilen stellen sicher, dass nur die Werte in $erlaubteSeiten übergeben werden können, sollte ein anderer Wert übergeben werden, oder der Parameter gar nicht gesetzt worden sein, so wird 'home' als Standardwert gesetzt.

(b) lässt sich aus deinem Beispiel erahnen, dass du auf register_globals vertraust. Das solltest du _nicht_. Benutze die SuperGlobals.

(c) wenn du in deinen inkludierten Dateien keine PHP-Scripts erwartest, dann möchtest du diese per readfile() oder mit file_get_contents() einlesen.

weiterhin schönen abend...

--
Freundlich wie man war, hat man mir Großbuchstaben geschenkt.
sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|