Simon Reinhardt: Alarm-Stufe (Dunkel-) Rot

Beitrag lesen

Hi!

das unten genannte Beispiel ist eine der grössten
Sicherheitslücken die man mit PHP "basteln" kann.

$show = $_GET["show"];
include($show);

Hm, man könnte eine Pfadüberprüfung vornehmen, um sicherzustellen, dass auch wirklich nur Dateien aus einem bestimmten Verzeichnis geladen werden.
Andere Möglichkeit:
Von vorneherein nur bestimmte Dateien erlauben...

$show = $_GET["show"];
$files = array("news"=>"news.php", "bla"=>"bla.php");
include($files[$show]);

Der Aufruf wäre dann index.php?show=news.

Viel einfacher geht es aber, wenn die Dateien das Layout selbst einbinden:

news.php
--------
<?php include("head.php"); ?>
...Seiteninhalt...
<?php include("foot.php"); ?>

In den Dateien head.php und foot.php steht dann der HTML-Code, der auf jeder Seite über und unter dem Inhalt immer der gleiche ist.

VG Simon

PS:
An das automatische Sicherheitsystem: "Fehlermeldungen" bringen nicht viel, wenn man dem armen Kerl keine Gegenvorschläge macht. Irgendwie muss er/sie ja weiterkommen.

--
Die Jugend ist viel zu schade für die jungen Leute.