Hallo
Es geht - ganz klassisch - darum, über die index.php eine Seite zu includen, die über die Url entgegengenommen wird (also z.B. index.php?site=news).
Dazu habe ich folgendes geschrieben:
Was haltet ihr davon, vor allem Sicherheitstechnisch? Es wurde mir gesagt, dass es verdammt unsicher ist, mit einer Usereingabe DIREKT auf das Dateisystem zu zielen. Daraufhin hab ich noch den Regexteil hinzugefügt.
Also:
- Der Parameter aus der URL darf nur A-Za-z0-9 enthalten
- die Datei muss auf PHP enden
- die Datei muss im includes-Ordner stecken
Der Parameter wird ja regelrecht in den Pfad gepresst.
Ich hätte das eigentlich für verdammt sicher gehalten, aber werde gerne eines besseren belehrt.
Es geht - ganz klassisch - darum, über die index.php eine Seite zu includen, die über die Url entgegengenommen wird (also z.B. index.php?site=news).
Dazu habe ich folgendes geschrieben:
PHP-Code:
if (!preg_match("#^[A-Za-z0-9]$#", $_GET['page'])) {
die();
} else {
$site = 'includes/' . $_GET['page'] . '.php';
if (file_exists($site))
{
include($site);
}
}
Also:
- Der Parameter aus der URL darf nur A-Za-z0-9 enthalten
- die Datei muss auf PHP enden
- die Datei muss im includes-Ordner stecken
Der Parameter wird ja regelrecht in den Pfad gepresst.
Ich hätte das eigentlich für verdammt sicher gehalten, aber werde gerne eines besseren belehrt.
Kommentar