Seiten einbinden OHNE include() wg sicherheit!
Aqua
- php
Hallo!
Angenommen ich habe die Datei foo.php und möchte die datei
bar.php einbinden, und bar.php liegt aber auf einem anderen
webserver, so könnte ich ja so machen:
<?php include("http://www.die-domain/bar.php"); ?>
ABER angenommen bar.php beinhaltet nicht nur HTML ausgabe
wie man es gerne haette, sondern beinhaltet auch
PHP code a la <?php .... ?>
dann würde der ausgeführt werden von foo.php ...
Welcher Befehl ist also fürs einbinden von HTML-Seiten
über HTTP da?
In Perl ist es LWP::Simple, was ist es in PHP?
Danke!
Aqua
Hi,
Angenommen ich habe die Datei foo.php und möchte die datei
bar.php einbinden, und bar.php liegt aber auf einem anderen
webserver, so könnte ich ja so machen:
<?php include("http://www.die-domain/bar.php"); ?>
ABER angenommen bar.php beinhaltet nicht nur HTML ausgabe
wie man es gerne haette, sondern beinhaltet auch
PHP code a la <?php .... ?>
dann würde der ausgeführt werden von foo.php ...
Das hängt davon ab, ob der andere Webserver php-fähig ist oder nicht.
Ist er PHP-fähig, so wird das PHP bereits dort ausgeführt und in foo.php nur das geparste Ergebnis inkludiert.
cu,
Andreas
Hallo Andreas!
Gehen wir davon aus,
dass der andere Webserver _nicht_ PHP fähig ist,
und wir <?php BÖSER CODE ?> in plain bekommen...
Ich brauch also ne Methode die Sicher ist,
und keinen Schaden zulässt...
Danke
Aqua
Hi,
Gehen wir davon aus,
dass der andere Webserver _nicht_ PHP fähig ist,
und wir <?php BÖSER CODE ?> in plain bekommen...
Ich brauch also ne Methode die Sicher ist,
und keinen Schaden zulässt...
readfile
Aber auch im HTML bzw. im darin eingebetteten Javascript kann noch einiges stecken, was Dir Probleme bereitet.
Wirklich sicher bist Du nur, wenn Du keinerlei fremden Code verwendest.
cu,
Andreas
Hello,
Gehen wir davon aus,
dass der andere Webserver _nicht_ PHP fähig ist,
und wir <?php BÖSER CODE ?> in plain bekommen...
Ich brauch also ne Methode die Sicher ist,
und keinen Schaden zulässt...readfile
Aber auch im HTML bzw. im darin eingebetteten Javascript kann noch einiges stecken, was Dir Probleme bereitet.
Wirklich sicher bist Du nur, wenn Du keinerlei fremden Code verwendest.
Unsinn. Mit HTML oder JavaScript kannst Du aber nicht den Server korumpieren, also z.B. Code einschleusen, mit dem man dann ein Spamrelay öffnen kann oder der Dateien verändert...
Oder kann Dein Server neuerdings auch JavaScript? Wäre ja denkbar. Dann nehme ich den "Unsinn" auch zurück ;-)
Liebe Grüße aus http://www.braunschweig.de
Tom
Hi,
Aber auch im HTML bzw. im darin eingebetteten Javascript kann noch einiges stecken, was Dir Probleme bereitet.
Wirklich sicher bist Du nur, wenn Du keinerlei fremden Code verwendest.
Unsinn. Mit HTML oder JavaScript kannst Du aber nicht den Server korumpieren, also z.B. Code einschleusen, mit dem man dann ein Spamrelay öffnen kann oder der Dateien verändert...
Ich habe nicht gesagt, daß am Server Schaden auftritt, sondern daß es Probleme geben kann.
Diese Probleme können z.B. die Darstellung der eigenen Inhalte betreffen.
Beispiel: der eingebettete Code enthält
<div style="position:absolute; top:0; left:0; width:100%; height:100%; background-color:white; z-index:99999">blabla</div>
Von den eigenen Inhalten ist nichts mehr zu sehen...
Oder es wird per Javascript mal eben das innerHTML des body-Elements überschrieben.
cu,
Andreas
Hallo MudGuard,
Angenommen ich habe die Datei foo.php und möchte die datei
bar.php einbinden, und bar.php liegt aber auf einem anderen
webserver, so könnte ich ja so machen:
<?php include("http://www.die-domain/bar.php"); ?>
ABER angenommen bar.php beinhaltet nicht nur HTML ausgabe
wie man es gerne haette, sondern beinhaltet auch
PHP code a la <?php .... ?>
dann würde der ausgeführt werden von foo.php ...Das hängt davon ab, ob der andere Webserver php-fähig ist oder nicht.
Ist er PHP-fähig, so wird das PHP bereits dort ausgeführt und in foo.php nur das geparste Ergebnis inkludiert.
Kann man mit PHP nicht auch PHP-Code ausgeben?
z.B. echo '<?php boesefunktion('delete','/'); ?>'
Zumindest bei mir lokal geht das.
Gruß Alex
Hi,
Das hängt davon ab, ob der andere Webserver php-fähig ist oder nicht.
Ist er PHP-fähig, so wird das PHP bereits dort ausgeführt und in foo.php nur das geparste Ergebnis inkludiert.Kann man mit PHP nicht auch PHP-Code ausgeben?
Ja, und? Der ausgegebene PHP-Code ist dann das geparste Ergebnis.
cu,
Andreas
Hallo MudGuard,
[PHP-Dateien von fremden Server per include() einbinden]
Das hängt davon ab, ob der andere Webserver php-fähig ist oder nicht.
Ist er PHP-fähig, so wird das PHP bereits dort ausgeführt und in foo.php nur das geparste Ergebnis inkludiert.Kann man mit PHP nicht auch PHP-Code ausgeben?
Ja, und? Der ausgegebene PHP-Code ist dann das geparste Ergebnis.
Und der sollte dann imho dank include() auf dem Rechner ausgeführt werden, der die externe Datei eingebunden hat. Oder übersehe ich irgendetwas?
Ich hatte meine erste Frage vor allem deswegen gestellt, weil Deine Antwort jemand unbedarfte in einer trügerischen Sicherheit wiegt, wenn er sich nicht die selbe Frage stellt. Der OP möchte - wie das Subject suggeriert - wegen des Sicherheitsrisikos des Ausführens fremden PHP-Codes auf include() verzichten. Und Deine minimalistische Antwort könnte imho unbedachte Mitleser dazu verleiten, include() trotzdem zu verwenden, weil der evtl. böse PHP-Code ja schon auf dem fremden Rechner geparst und ausgeführt wird.
Gruß Alex
Hello Alex,
Ich hatte meine erste Frage vor allem deswegen gestellt, weil Deine Antwort jemand unbedarfte in einer trügerischen Sicherheit wiegt, wenn er sich nicht die selbe Frage stellt. Der OP möchte - wie das Subject suggeriert - wegen des Sicherheitsrisikos des Ausführens fremden PHP-Codes auf include() verzichten. Und Deine minimalistische Antwort könnte imho unbedachte Mitleser dazu verleiten, include() trotzdem zu verwenden, weil der evtl. böse PHP-Code ja schon auf dem fremden Rechner geparst und ausgeführt wird.
genau deshalb verbreite ich immer die Statements, dass
include()
require()
exec()
system()
eval()
...
nicht in die Hände von "Kindern" gehören ;-)
fallen Dir noch mehr Funktionen ein, die weggesperrt gehörten?
Liebe Grüße aus http://www.braunschweig.de
Tom
Halihallo Tom
genau deshalb verbreite ich immer die Statements, dass
[...]
nicht in die Hände von "Kindern" gehören ;-)
fallen Dir noch mehr Funktionen ein, die weggesperrt gehörten?
Für Kinder? - 'poppen', äh, 'popen'...
Viele Grüsse
Philipp