<?php
$filename = $_GET["page"];
if (file_exists($filename)) {
include("page/$filename.php");
} else {
print "The file does not exist";
}
?>
soweit habe ich das zum laufen bekommen... nur leider kommt der irgendwie nicht damit klar, wie ich includen will, oder habe ich ein fehler drinne??? *schnief*
hilfe würde mir einiges erleichtern *danke euch* :-# :-#
Du solltest natürlich auf die Existenz der Datei abfragen, die du includen willst. Beim Include und beim file_exists beziehst du dich ja auf unterschiedliche Dateien (einmal mit Pfad und Extension, einmal ohne).
Außerdem fehlt dir in deinem Beispiel ein wichtiger Punkt, nämlich die Überprüfung, ob die per GET übergebene Seite erlaubt ist. Sonst lässt sich um ungünstigsten Fall jede beliebige Seite auf deinem Server einbinden - und z.B. die /etc/passwd oder eine Datei mit dem Passwort für deine SQL-Datenbank wäre äußerst ungünstig, wenn diese Sachen öffentlich sichtbar gemacht werden können.
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
der include ist mit einer datei nicht möglich... habe eine lösung gefunden, aber danke ;)
über sicherheitslücken mach ich mir dann später nen kopf... denn dann seh ich diese. es ist ausserdem nicht möglich, eine datei vom fremdem SPace zu laden bei mir. weil ich die dateien intern (nur auf 127.0.0.1) abrufen lasse.
stream4fun wrote:es ist ausserdem nicht möglich, eine datei vom fremdem SPace zu laden bei mir. weil ich die dateien intern (nur auf 127.0.0.1) abrufen lasse.
Und wer garantiert Dir, dass niemand die r57 auf anderen Wegen bei Dir "intern" ablegt, um sie dann includen zu lassen? Soetwas ist einfacher als Du glaubst...
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Och, auf 'nem Server liegt auch so genug rum, mit dem man per include Schaden anrichten könnte...
Außerdem sollte man sich Gedanken machen, wie man sein Script absichert, bevor man es nutzt und nicht erst hinterher, wenn das Kind schon in den Brunnen gefallen ist...
Wenn es nur eine Hand voll Dateien sind, dann reicht eine einfache Whitelist aus, in der die erlaubten Dateien drin sind. Also sorgt für eine ausreichende Überprüfung deines Scripts. Ich habe keine Lust, Spam von deinem Server zu erhalten, nur weil du dir erste Gedanken über Sicherheitslücken machen willst, wenn sie ausgenutzt werden...