Page 1 of 1
php include frage...
Posted: 2009-02-28 00:55
by stream4fun
Hallo... ich habe hier mal eine frage... wie ist es möglich, beim php include eine abfrage zu machen, ob die Datei vorhanden ist, oder nicht.
mein beispiel was ich derzeit benutze als test lautet
Code: Select all
<?php
$id =($_GET["page"]);
include ("page/$id.php");
?>
nur will ich da nun noch eine abfrage reinmachen die dann sagt ist da, nein ist nicht da...
per Browser wird das dann folgender maßen aufgerufen...
?id=news (nutze hier news als beispiel)
wäre sehr nett wenn mir jemand helfen würde
Re: php include frage...
Posted: 2009-02-28 01:16
by stream4fun
Habe nun was neues gefunden und ausprobiert...
Code: Select all
<?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* :-# :-#
Re: php include frage...
Posted: 2009-02-28 08:27
by danton
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.
Re: php include frage...
Posted: 2009-02-28 09:36
by stream4fun
ich verwend für meine HP kein MySQL. Das sind alles html basierende Seiten halt nur in php geschrieben
Re: php include frage...
Posted: 2009-02-28 09:58
by Joe User
Und wenn man Dir die r57-Shell included ist das Geheule wieder gross...
Re: php include frage...
Posted: 2009-03-02 17:31
by stream4fun
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.
Re: php include frage...
Posted: 2009-03-02 17:40
by Joe User
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...
Re: php include frage...
Posted: 2009-03-02 18:35
by danton
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...