[PHP] include / gefährlich?!

Rockhound

Lt. Commander
Registriert
Jan. 2003
Beiträge
1.671
um eine art frameset zu schaffen kann man ja den befehl include() benutzen.
eine site wird z.b. so aufgerufen:
index.php?s=artikel

der befehl in der index.php lautet dann z.B.:

<? if ($s==""){ include("welcome.php"); } else { include ("$s.php"); } ?>

fast jeder erkennt jetzt aber die gefahr. man könnte ja nun auch versuchen fremde dateien miteinzubinden.
wie habt ihr das problem bei euren seiten gelöst ??
 
Ich habe sowas zwar noch nicht gemacht ... allerdings würde ich das mit einer mysql-Datenbank machen. $s würde ich dann die ArtikelID übergeben. Wenn es einen Artikel in der Datenbank für Artikel gibt wird dieser angezeigt.

Cu Spaceman
 
hmm, dann müsst ich jede site die es gibt in die sql db speichern. zu umständlich.
hab schon versucht das so zu machen:
{ include ("http://www.meinesite.de/$s.php"); }

aber dann funzen die cookies nichtmehr :(
 
du kannst ja einfach den übergebenen String untersuchen, so darf er zB nur Buchstaben und Zahlen enthalten, somit ist es unmöglich auf ein anderes Verzeichnis oder anderen Server zu verweisen
 
Z.B.:

if(eregi("^[a-zA-Z0-9]+\.php$",$s))
{
// $s enthällt nur Buchstaben und/oder Zahlen und muss mit .php enden.
}
else
{
// $s enthällt nicht nur Bu....
}

Cu Spaceman
 
Zurück
Oben