Problem mit remote include

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Martin Truckenbrodt
Mitglied
Beiträge: 1143
Registriert: 15.08.2003 23:16
Wohnort: Südthüringen
Kontaktdaten:

Problem mit remote include

Beitrag von Martin Truckenbrodt »

Hallo,
ich habe folgende Code:

Code: Alles auswählen

define('IN_PHPBB', true);

$phpbb_root_path = './cgi/phpBB2/'; //set your path
$album_root_path = $phpbb_root_path . 'album_mod/';

include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

$language = $board_config['default_lang'];

if ( !file_exists($phpbb_root_path . 'language/lang_' . $language . '/lang_album_main.'.$phpEx) )
{
	$language = 'english'; // set your default language
}

include($phpbb_root_path . 'language/lang_' . $language . '/lang_album_main.' . $phpEx);


print "<table align=center>";
print "<tr><th align='center' colspan='3'>". $lang['Recent_Pics'] ."</th></tr>";
print "<tr>";

$sql = "SELECT pic_id, pic_title, pic_desc, pic_cat_id FROM ". ALBUM_TABLE ." ORDER BY pic_id DESC"; 
$picspool = $db->sql_query($sql) or die ("SQL Error"); 

for ($i=0;$i<3;$i++) //set number of pictures for the displayed line
{
	while ($cat['cat_view_level'] != '-1')
	{
		$row = $db->sql_fetchrow($picspool); 
		$sql = "SELECT * FROM ". ALBUM_CAT_TABLE ." WHERE cat_id = '". $row['pic_cat_id'] ."'";
		$result = $db->sql_query($sql) or die ("SQL Error"); 
		$cat = $db->sql_fetchrow($result); 
	}
	$cat['cat_view_level'] = '0';
	print "<td valign='top'><table><tr><td align='center'>" . $row['pic_title'] . "<br /></td></tr><tr><td align='center'><a href='". append_sid($phpbb_root_path ."album_showpage.". $phpEx ."?pic_id=" . $row['pic_id']) ."'><img alt='" . $row['pic_desc'] . "' src='". $phpbb_root_path ."album_thumbnail.". $phpEx ."?pic_id=" . $row['pic_id'] . "'></a></td></tr></table></td>"; 
}

print "</tr>";
print "</table>";
Diese Datei binde ich via include in eine andere Datei der betreffenden Webseite ein. Dies funktioniert prima.

Nun will ich von einer anderen Domain (Webseite) aus die Datei includen. Dazu habe ich folgendes geändert:

Code: Alles auswählen

$phpbb_root_path = 'http://www.meinedomain.com/cgi/phpBB2/'; //set your path
Dies funktioniert leider nicht.
Schon

Code: Alles auswählen

$language = $board_config['default_lang'];
hinterläßt ein leeres $language.

phpinfo ergibt: allow_url_fopen On On

Gruß Martin
Advanced Block MOD 1.1.4 ist released! - Verhindere Spam auf Deinem phpBB3 Board mit Stop Forum Spam, BotScout, Akismet, Project Honey Pot und verschiedenen IP-RBL und Domain-RBL DNS Blacklisten! - Meine MODs - phpBB Complete Core
Benutzeravatar
Banger
Ehemaliges Teammitglied
Beiträge: 375
Registriert: 03.05.2005 21:53
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Banger »

Servus,
schau doch mal nach, was unter http://de.php.net/include/ über Beispiel 16-5. steht:
...das Skript wird auf dem Remote-Server ausgeführt und danach wird das Ergebnis in das lokale Skript eingebunden.
Benutzeravatar
Martin Truckenbrodt
Mitglied
Beiträge: 1143
Registriert: 15.08.2003 23:16
Wohnort: Südthüringen
Kontaktdaten:

Beitrag von Martin Truckenbrodt »

Hallo,
ja, und?

Diese Quelle habe ich bereits durch.

Muß IMO was phpBB Spezifisches sein.
Ich will aber nicht ausschließen, dass ich nicht erkenne, was Du mit Deinem Zitat meinst.

Gruß Martin
Advanced Block MOD 1.1.4 ist released! - Verhindere Spam auf Deinem phpBB3 Board mit Stop Forum Spam, BotScout, Akismet, Project Honey Pot und verschiedenen IP-RBL und Domain-RBL DNS Blacklisten! - Meine MODs - phpBB Complete Core
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

Martin Truckenbrodt hat geschrieben: Muß IMO was phpBB Spezifisches sein.
Nee, ist was PHP spezifisches.
Martin Truckenbrodt hat geschrieben: Ich will aber nicht ausschließen, dass ich nicht erkenne, was Du mit Deinem Zitat meinst.
Da gebe ich dir sogar Brief und Siegel drauf das du das nicht erkennt.

Der Code wird auf dem EXTERNEN SERVER AUSGEFÜHRT, das was die Datei ausgibt, wird inkludiert. Machen wir das ganze mal etwas verständlicher anhand eines Beispiels:

Gegeben ist eine Datei incme.php auf dem Host lala.lulu.tld, diese sieht so aus:

<?php
$text = "Martin rallts einfach nichts",
echo $text;
?>

Jetzt inkludierst die du diese Datei, dann wird aber nicht der Code inkludiert, sondern es wäre das selbe als würdest du eine TXT-Datei inkludieren in der nichts anderes steht als "Martin rallts einfach nicht".

Jetzt gerallt? ;-)
Benutzeravatar
Martin Truckenbrodt
Mitglied
Beiträge: 1143
Registriert: 15.08.2003 23:16
Wohnort: Südthüringen
Kontaktdaten:

Beitrag von Martin Truckenbrodt »

Hallo,
ich denke, jetzt habe ich es verstanden. Verstehe nur nicht, wieso man da auf Grund der völlig unterschiedlichen Arbeitsweise nicht einen extra Befehl kreiert hat. Gehört aber woanders hin ...

Wie läßt sich mein Vorhaben alternativ realisieren?

Gruß Martin
Advanced Block MOD 1.1.4 ist released! - Verhindere Spam auf Deinem phpBB3 Board mit Stop Forum Spam, BotScout, Akismet, Project Honey Pot und verschiedenen IP-RBL und Domain-RBL DNS Blacklisten! - Meine MODs - phpBB Complete Core
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

Martin Truckenbrodt hat geschrieben:Hallo,
ich denke, jetzt habe ich es verstanden. Verstehe nur nicht, wieso man da auf Grund der völlig unterschiedlichen Arbeitsweise nicht einen extra Befehl kreiert hat. Gehört aber woanders hin ...

Wie läßt sich mein Vorhaben alternativ realisieren?
Ich würde sagen mit file_get_contents() und eval()
Benutzeravatar
Martin Truckenbrodt
Mitglied
Beiträge: 1143
Registriert: 15.08.2003 23:16
Wohnort: Südthüringen
Kontaktdaten:

Beitrag von Martin Truckenbrodt »

Hallo jensemann,
muchas gracias!

Werde ich wohl die nächsten Tage mal probieren. Müde bin ich geh' zur Ruh, ...

Gruß Martin
Advanced Block MOD 1.1.4 ist released! - Verhindere Spam auf Deinem phpBB3 Board mit Stop Forum Spam, BotScout, Akismet, Project Honey Pot und verschiedenen IP-RBL und Domain-RBL DNS Blacklisten! - Meine MODs - phpBB Complete Core
Benutzeravatar
Banger
Ehemaliges Teammitglied
Beiträge: 375
Registriert: 03.05.2005 21:53
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Banger »

jensemann hat geschrieben:Ich würde sagen mit file_get_contents() und eval()
file_get_contents() liefert aber auch nur den geparsten Output des Zielscripts zurück - letzteres müsste also auch hier PHP-Code als Output liefern.

Um das Ganze mal mit einem Alltagsspruch aus unserem Programmiererbüro zu versehen: "Das willst Du nicht." - das ist ziemlich genau eine Kurzversion von: "Das hat schon seinen Grund, warum das nicht ohne weiteres funktioniert. Ja, durch einen Workaround wäre es möglich, ist aber nicht nur aus Sicherheitsaspekten vollkommen sinnfrei. "

Denk mal drüber nach ;-)
Jensemann
Ehemaliges Teammitglied
Beiträge: 2549
Registriert: 25.02.2002 01:00

Beitrag von Jensemann »

Banger hat geschrieben:
jensemann hat geschrieben:Ich würde sagen mit file_get_contents() und eval()
file_get_contents() liefert aber auch nur den geparsten Output des Zielscripts zurück - letzteres müsste also auch hier PHP-Code als Output liefern.
ARGH! Klar, der Denkfehler bleibt jetzt aber bitte unter uns, das ist ja echt peinlich. :D

Man kann also im Grunde auch include nehmen, man darf nur keine Endung verwenden die der Remote-Server als PHP ausführt.

Zum restlichen gesagten stimme ich dir natürlich zu.
Benutzeravatar
Martin Truckenbrodt
Mitglied
Beiträge: 1143
Registriert: 15.08.2003 23:16
Wohnort: Südthüringen
Kontaktdaten:

Beitrag von Martin Truckenbrodt »

Hallo,
es entscheidet ja der Webmaster der Seite, die die Datei include anbietet, entscheiden, ob er es anbietet oder nicht.
Um Angriffe auf dei Serverlast zu vermeiden, müßte man eine Art Autentifizierung einbauen.

Schau'n mer mal!

Danke für Eure Hilfe.

Gruß Martin
Advanced Block MOD 1.1.4 ist released! - Verhindere Spam auf Deinem phpBB3 Board mit Stop Forum Spam, BotScout, Akismet, Project Honey Pot und verschiedenen IP-RBL und Domain-RBL DNS Blacklisten! - Meine MODs - phpBB Complete Core
Antworten

Zurück zu „Coding & Technik“