php include frage...

Bash, Shell, PHP, Python, Perl, CGI
stream4fun
Posts: 12
Joined: 2009-02-26 00:08

php include frage...

Post 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
Last edited by stream4fun on 2009-02-28 02:23, edited 1 time in total.
stream4fun
Posts: 12
Joined: 2009-02-26 00:08

Re: php include frage...

Post 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* :-# :-#
danton
Posts: 47
Joined: 2006-01-10 17:45

Re: php include frage...

Post 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.
stream4fun
Posts: 12
Joined: 2009-02-26 00:08

Re: php include frage...

Post by stream4fun »

ich verwend für meine HP kein MySQL. Das sind alles html basierende Seiten halt nur in php geschrieben
User avatar
Joe User
Project Manager
Project Manager
Posts: 11176
Joined: 2003-02-27 01:00
Location: Hamburg

Re: php include frage...

Post by Joe User »

Und wenn man Dir die r57-Shell included ist das Geheule wieder gross...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„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.
stream4fun
Posts: 12
Joined: 2009-02-26 00:08

Re: php include frage...

Post 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.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11176
Joined: 2003-02-27 01:00
Location: Hamburg

Re: php include frage...

Post 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...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„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.
danton
Posts: 47
Joined: 2006-01-10 17:45

Re: php include frage...

Post 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...