dedlfix: PHP copy von URL

Beitrag lesen

Hi!

'tschuldigung, da hab ich doch was anderes geschrieben als gemeint.

copy und fopen seien aus Sicherheitsgründen abgeschaltet.
PHP ist so eingestellt, nicht versehentlich Code aus bösen Quellen nachladen kann.

Das regelt die php.ini-Direktive allow_url_include. Die vom OP genannten Funktionen laden erst einmal keinen Code nach. Man benötigt dazu immer noch ein eval() oder dergleichen, um das geholte Zeug als Code zu interpretieren.

Hier dazwischen fehlte ein Satz wie dieser:
Für den URL-Wrapper von Dateisystemfunktionen wie fopen() ist allow_url_fopen zuständig.

Ich halte es für nicht besonders sinnvoll, diese Direktive zu deaktivieren (im Auslieferungszustand ist sie das ebenfalls nicht). Der allgemeine alternative Weg ist, sich umständlich mit fsockopen() die Daten zu besorgen. Und dann steht man an haargenau dem selben Punkt wie nach einem URL-wrappenden fopen(). Wenn man an dieser Stelle irgendeine Sicherheit haben will, müsste man das Schreiben ins Dateisystem generell verhindern, um include und Co. effektiv die Möglichkeit der Nachladung von laufzeiterstelltem Code zu nehmen.

Für das direkte Codenachladen aus fremden Quellen ist eine andere Direktive zuständig: allow_url_include. Diese ist per Default ausgeschaltet und erlaubt/verbietet das Angeben von URLs bei den Inkludefunktionen.

Der Absatz ist obsolet, weil ich das schon im ersten Satz behandelt habe.

Ich halte das Abschalten dieser Sicherheitslücke in PHP für ein Zeichen für einen guten Hoster.
Ich halte ihn eher für einen der nicht richtig nachgedacht hat oder eine PHP-Version < 5.2.0 laufen hat, die noch nicht zwischen den beiden oben genannte Direktiven unterscheidet.

Lo!