Liebe(r) Simbyte,
$pg = $_GET["path"];
[...]
include("inc/$pg.inc");Sicherheitsloch
Wie kann ich dieses Sicherheitsloch ausschalten?
erstelle Dir ein Array mit möglichen includierbaren Dateien (wenn Du willst auch dynamisch anhand der im Include-Verzeichnis vorhandenen Dateien). Includiere dann anhand des GET-Parameters die entsprechende Datei nur bei Vorhandensein des entsprechenden Array-Eintrags.
// man könnte auch dynamisch alle verfügbaren Dateien im Verzeichnis "inc" ermitteln...
$include_dateien = array(
'start.inc',
'dat1.inc',
'dat2.inc',
'dat_spezial.inc',
'dat_egal.inc'
);
$pg = 'start.inc'; // Default-Wert
if (in_array($_GET['path'], $include_dateien))
$pg = $_GET['path']; // nur deshalb hier erlaubt, da vorher eine Prüfung auf "vorhanden" stattgefunden hat!!!
include "inc/$pg";
Liebe Grüße aus Ellwangen,
Felix Riesterer.
--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)