PHP Kurs zum PHP programmieren lernen

www.PHP-Kurs.com

PHP lernen für Einsteiger und Fortgeschrittene

Zugriffe auf das Dateisystem

Wenn man auf die Idee kommt, über Variablen Dateien zu öffnen, kann das eine sehr schlechte Idee sein. Angenommen Sie haben ein Bilderschau und die Bilder werden in der Form

readfile ('/bilder/'. $_GET['bildnummer'] );

geöffnet, ist die Annahme, dass damit nur Bilder und vor allem nur in diesem Verzeichnis Dateien geöffnet werden können, schlicht und ergreifend fahrlässig. Dem String $_GET[bildnummer] kann jetzt genauso auch von außen (wenn die Eingaben ungeprüft übernommen werden) ein "passwort.txt" unterschoben werden. Und zur Erinnerung: Ein Wechsel der Verzeichnisse ist mit "../" möglich. Wenn man solche Geschichten (als Lockvogel) mitprotokolliert, erscheinen dann die üblichen Verdächtigen "../etc/passswwdd". Mehr dazu unter http://www.php.net/manual/de/security.filesystem.php

Daher ist es wichtig, wenn man über eine Variable geht will/muss, die übergebene Variable gegen eine Liste der möglichen (bzw. erwünschten) Eingaben abzuprüfen. Hat man nur wenige Eingaben, dann hilft der PHP-Befehl switch (hier im folgenden Beispiel, da didaktisch geschickt übersichtlich):

switch (  $_GET[bildnummer] )
case (1):
	$dateiname = "1.jpg";
        break;
case (2):
	$dateiname = "phpbild.jpg";
        break;
...
default:
Unterdrücken von PHP-FehlermeldungenSeitenanfangCross-Site Scripting (XSS) unterbinden
Diese Seite verlinken

Wir freuen uns, wenn Sie diese Seite verlinken ...

PHP-Kurs.com - jetzt PHP lernen    Bookmark bei del.icio.us setzen    Bookmark bei Mister Wong setzen