Der Martin: PHP läuft in CGI-Mosus - wie CGI-Skripte in PHP ausführen?

Beitrag lesen

Hi,

<? echo @join (@file ("http://www.meinedomain.de/cgi-bin/dcounter/showload.cgi?http://www.meinedomain.de/download/datei.zip"),"") ?>
Ich bin was das angeht noch ziemlicher Anfänger, spricht etwas gegen obige Lösung?

äh, ja. Einiges. Sie ist an Nutzlosigkeit schwer zu toppen.
Sie holt mit file() eine HTTP-Ressource ab (Glück gehabt, du darfst also HTTP-Ressourcen über die File-Funktionen ansprechen), du hast sie dann in einem Array, jedes Arrayelement eine Zeile. Das ist besonders bei Ressourcen, die nicht textbasiert sind, ziemlich sinnfrei. Eventuell auftretende Fehlermeldungen werden unterdrückt.
Dann klebt join() die grundlos gesplitteten Zeilen im Array wieder zu *einem* String zusammen, auch dabei unterdrückst du eventuelle Fehlermeldungen.
Den resultierenden String gibst du schließlich mit echo aus.
Außerdem verlässt du dich noch darauf, dass die Short Tags ("<?" anstatt "<?php") erlaubt sind.
Und zu guter Letzt missbrauchst du noch Domainnamen für deine Beispiele, die tatsächlich vergeben sind, anstatt die Namen zu verwenden, die extra dafür vorgesehen sind.

Letztendlich tut der ganze Kladderadatsch also dasselbe wie

<?php readfile("http://www.example.org/cgi-bin/dcounter/showload.cgi?http://www.example.org/download/datei.zip"),"") ?>

Und ich bin überzeugt, es ist auch nicht im Sinne der Erfinders, dass das CGI-Programm seinerseits wieder per HTTP auf eine Ressource zugreifen soll, die auf demselben Server liegt.

So long,
 Martin

--
Fettflecke werden wieder wie neu, wenn man sie regelmäßig mit etwas Butter einschmiert.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(