suntrop
Erfahrenes Mitglied
Hallo,
ich habe ein kleines Webtool erstellt, in das sich ein User einloggen muss. Beim Login setzte ich auf die Auth Klasse des PEAR Projekts.
Das Tool besteht aus drei Dateien die ein Nutzer aufrufen kann, die im Root-Ordner liegen. Diese drei checken alle, ob der Nutzer sich eingeloggt hat, wenn nicht, dann werden er zur Loginseite gelenkt.
Soweit so gut. Jedoch habe ich in verschiedenen Unterordner Dateien (z.B. /lib/php/db.inc.php, /lib/php/send_newmail.inc.php, /lib/php/save_new_data.inc.php etc.).
Diese werden alle über require_once() eingebunden und deshalb haben sie keine entsprechende Prüfung des Logins. Theoretisch könnte jemand also zu domain.com/lib/php/send_newmail.inc.php gehen und der Code darin würde ausgeführt.
Die meisten Dateien würden mit einem Fatal Error abbrechen, da sie selber wieder einige require_once() Funktionen in sich tragen und die Pfade dann nicht mehr stimmen.
Sicherheit ist aber was anderes ;-)
Ich bin noch recht neu in der PHP-Programmierung und weiß auch nicht wie ich es besser machen könnte. Lese zwar einiges über Sicherheit und PHP, jedoch ist mir meine aktuelle Situation noch nicht literarisch begegnet.
Ein Notbehelf mit einer .htaccess & .htpasswd hat wider erwarten auch nichts genützt, selbst intern wird wohl nach dem Passwort gefragt.
Habt ihr einen Tipp für mich? Was kann ich verbessern?
Gibt es die Möglichkeit die Dateien oberhalb des Root-Verzeichnisse zu speichern, dass die Scripte aber noch darauf Zugriff haben? Wie macht der PHP-Profi das? Wo die Dateien speichern und schützen?
Schönen Dank für eure Hilfe.
Grüße
suntrop
ich habe ein kleines Webtool erstellt, in das sich ein User einloggen muss. Beim Login setzte ich auf die Auth Klasse des PEAR Projekts.
Das Tool besteht aus drei Dateien die ein Nutzer aufrufen kann, die im Root-Ordner liegen. Diese drei checken alle, ob der Nutzer sich eingeloggt hat, wenn nicht, dann werden er zur Loginseite gelenkt.
Soweit so gut. Jedoch habe ich in verschiedenen Unterordner Dateien (z.B. /lib/php/db.inc.php, /lib/php/send_newmail.inc.php, /lib/php/save_new_data.inc.php etc.).
Diese werden alle über require_once() eingebunden und deshalb haben sie keine entsprechende Prüfung des Logins. Theoretisch könnte jemand also zu domain.com/lib/php/send_newmail.inc.php gehen und der Code darin würde ausgeführt.
Die meisten Dateien würden mit einem Fatal Error abbrechen, da sie selber wieder einige require_once() Funktionen in sich tragen und die Pfade dann nicht mehr stimmen.
Sicherheit ist aber was anderes ;-)
Ich bin noch recht neu in der PHP-Programmierung und weiß auch nicht wie ich es besser machen könnte. Lese zwar einiges über Sicherheit und PHP, jedoch ist mir meine aktuelle Situation noch nicht literarisch begegnet.
Ein Notbehelf mit einer .htaccess & .htpasswd hat wider erwarten auch nichts genützt, selbst intern wird wohl nach dem Passwort gefragt.
Habt ihr einen Tipp für mich? Was kann ich verbessern?
Gibt es die Möglichkeit die Dateien oberhalb des Root-Verzeichnisse zu speichern, dass die Scripte aber noch darauf Zugriff haben? Wie macht der PHP-Profi das? Wo die Dateien speichern und schützen?
Schönen Dank für eure Hilfe.
Grüße
suntrop