Freitag, 11. Januar 2008, 12:53
Gehorsam
Ein Kunde hatte noch Probleme mit seinen PHP-Skripten, und sein Programmierer war nicht greifbar. Wir hatten ihm dann unter die Arme gegriffen und die Short-Tags etc. ersetzt. Er fragte uns, wie er sich revanchieren konnte:
Kunde: Hilft (...) evtl. ein link auf unserer Seite?Die Antwort zeugt von blindem Gehorsam:
Wir: Das wäre ein Traum
Wird gemacht, Chef!Ein Traum
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
Dirk
extract ($_GET);
extract ($_POST);
Nicht sehr fehin, aber als Notlösung funktioniert es. Nun werden alle Variablen aus $_POST und $_GET herausgeholt, und sind direkt verfügbar.
Btw. mal leicht OT, warum endet ...
include('http://example.com/blubb.php?foo=bar');
if(!$array['var']) { echo 'error'; return; }
else { dosomething($array['var']); }
... eigentlich damit, dass „error“ ausgegeben wird? Das, was inkludiert wird, ist PHP-Code, und erzeugt unter anderem ein Array $array, dessen einer Eintrag 'var' ist. Bis zum Umstieg auf PHP5 funktionierte das so noch.
Ja, ich weiß, dass das ganz fui-bäh ist, aber der Code ist nur ein Ausschnitt. Und ja, ich darf auf http://example.com/blubb.php?foo=bar zugreifen, und ja, ich weiß, dass PHP auf dem Server geparst wird, was ich aufrufe, gibt trotzdem PHP-Code zurück.
Manuel Schmitt (manitu)
Dirk
Ist vor dem include() gesetzt. Und zwar sowohl auch zusätzlich probiert mit 1 und TRUE, und was ich sonst noch so alles im Netz finden konnte. Schön nacheinander durchprobiert, aber immer das Selbe
Interessant ist auch, dass ein PHP-Script, das lediglich
echo 'start';
error_reporting(E_ALL);
ini_set('allow_url_fopen','on');
include('http://heise.de');
echo 'ende';
als Inhalt hat, komplett ohne Ausgabe bleibt, bzw. nur „startende“ ausgibt. Und zwar völlig unabhängig davon, ob (und was bei) allow_url_fopen gesetzt ist, oder was ich bei error_reporting() reinschreibe.
http://kamerastars.de/test.php
Chris
Das Ding kann man im Script selber nicht aktivieren, sondern der Eintrag kann nur in php.ini oder httpd.conf gesetzt werden.
Manuel Schmitt (manitu)
Manuel Schmitt (manitu)
Was sagt denn phpinfo() nach dem ini_set() ?
Dirk
allow_url_fopen On Off
Ohne Angabe im PHP-Script
allow_url_fopen Off Off
Manuel Schmitt (manitu)
Dirk
Diese Datei: http://rafb.net/p/mWgNTj28.html
Liegt hier: http://www.kamerastars.de/test.php
Und die einzige Ausgabe ist: „startende“ (Ohne die Anführungszeichen).
Manuel Schmitt (manitu)
Dirk
Manuel Schmitt (manitu)
ini_set("allow_url_fopen", "1");
(also "1" statt "on")
Dirk
Dirk
Das scheint ein Feature/Bug von PHP5 zu sein, dass es in dieser Speziellen Kombination, wie ich es brauche, und wie es in PHP4 funktionierte, nun nicht mehr geht.
readfile(); hingegen geht, wenn auch für mich persönlich nicht so, wie ich es bräuchte, und ich werde mein Skript anpassen.