• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Beim Auslesen eines Verzeichnisses die Unterverzeichnisse einbeziehen

Space Vampire

Senior HTML'ler
Tach zusammen.
Lange ist's her und ich hab da mal wieder eine Frage :grin:

Ich benutze die nachfolgende Routine um Verzeichnisse auszulesen und deren Inhalt zu includen.
Funktioniert auch alles prima.
Jetzt würde ich gerne auf die gleiche Weise noch eine gesamtübersicht verarbeiten.
Dazu müsste ich die Routine anweisen auch Unterverzeichnisse auszulesen.

Gehts das und wenn ja wie?

PHP:
$galerie = $_GET['site'];
$pfad = 'galerie/topf/';
echo "<table border='0' cellpadding='0' cellspacing='0' width='100%'><tr><td class='title' align='left'><br>Blumentöpfe - " . $galerie . "</td></tr></table><br><br>";
$dir = $pfad . $galerie . "/"; 
$h = opendir($dir); 
$files = array(); 
while(($file = readdir($h)) !== false) { 
    if($file == '.' || $file == '..') { 
        continue; 
    } 
    $files[] = $dir . $file; 
} 
while(($file = array_pop($files))) { 
    include($file); 
}
 
Ausserdem hat dein Script eine gravierende Schwachstelle, denn wenn jemand als Seite "../../" eingibt, gelangt man in das übergeordnete Verzeichnis deiner Gallerie und kann dort fröhlich alle Dateien auslesen.

Du solltest also unbedingt überprüfen, ob sich der Pfad noch in deinem Zielverzeichnis befindet, sonst freut sich da das erste Scriptkiddie, dass es deinen Server hacken kann.
 
Zurück
Oben