Mailinglisten-Archive |
Hallo > > > Wie kann ich denn etwas zurückgeben, wenn ich ein Script > > > per include anspreche? > > <error> > > man kann NUR im eigenen Filesystem wirklich includen. Da war ich wohl etwas wirr. Mit includen meinte ich das einlesen per fopen(). > > Und wenn es ein PHP-Script ist, wird sie eben geparst ... > also spricht ja technisch nichts dagegen, eine Konfigurationsdatei mit > file() vom remote-Server einzulesen und mit eval() auf dem lokalen > Server als PHP-Code auszufuehren und damit die Konfiguration im > laufenden Skript verfuegbar zu machen. ;-) Das ist der einfachste Weg. > Ob man das aus sicherheitstechnischen Dingen so machen sollte, weil die > Konfiguration dann fuer Dritte manipulierbar wird, ist eine andere > Frage. :-) Eine Frage auf die ich eine Antwort gefunden habe. Norberts EMail mit dem Hinweis auf POST und die Verwendung der IP brachte mich dann doch noch auf die richtige Spur. Also, Server A enthält die Configdatei mit diesem Inhalt: --- schnipp --- schnapp --- <?php // REMOTE_ADDR entspricht der IP von Server B if ($_GET['te'] and $_SERVER["REMOTE_ADDR"] == '80.135.42.29') { ?> // Kommentar $testvar = 'example'; <?php } ?> --- schnipp --- schnapp --- Server B ruft nun diese Configdatei auf: --- schnipp --- schnapp --- <?php $file = fopen ("http://www.example.com/conf.php?te=1", "r"); if (!$file) { echo "<p>Datei konnte nicht geöffnet werden.\n"; exit; } while (!feof ($file)) { $line = fgets ($file, 1024); if (trim($line) != '') { eval (trim($line)); } } fclose($file); ?> --- schnipp --- schnapp --- Was passiert: Die if-Abfrage in der Configdatei (conf.php) prüft den GET-Wert und die übergebene IP. Stimmen diese Werte, werden die Daten im if-Block ausgegeben und somit an die aufrufende Datei auf Server B weitergereicht. Tja, damit wäre zumindest sichergestellt, dass die Configdaten nur mit einer bestimmten IP gelesen werden können, also ein bloser Aufruf im Browser zu nichts führt. Man kann das natürlich noch um einen else-Zweig erweitern der, um es mit Norberts Worten zu sagen: "irgend einen Schnulli ausgibt". -- Koala
php::bar PHP Wiki - Listenarchive