Allow_url_fopen gehört deaktiviert

Philipp Zeder
Autor:

Philipp Zeder

Kategorie:

in

Entwicklung & Performance

Veröffentlicht am 28. Feb. 2013

Aktualisiert am 9. Mai 2022

Die PHP-Funktion allow_url_fopen ist gefährlich. Damit lässt sich nämlich Code von externen Webservern in Ihr Webhosting einschleusen.

Mein CMS verlangt aber allow_url_fopen

Leider tummeln sich noch immer Content-Management-Systeme in der freien Wildbahn, die darauf angewiesen sind, dass allow_url_fopen aktiviert ist.

Wir raten generell von der Verwendung solcher Software ab. Da allow_url_fopen an sich ein unsicheres Konzept aus alten Tagen ist, liegt der Verdacht nahe, dass auch der Rest der entsprechenden Software auf alten Methoden basiert.

Die Alternativen

Das heutige Standardwerkzeug für Verbindungen zu anderen Servern nennt sich cURL und ist selbstverständlich auch auf unseren Systemen installiert. Falls Sie auf der Suche nach guten HTTP-Clients sind, beispielsweise für den Einsatz in einer eigene Applikation, empfehlen wir den Einsatz von Guzzle oder Buzz.

Wenn alle Stricke reissen

Natürlich ist uns klar, dass sich ein im Betrieb befindliches System nicht einfach so auswechseln lässt. Deshalb können Sie in Ihrem my.cyon die Option allow_url_fopen für Ihre eigene php.ini aktivieren, damit die eingesetzte Software im Notfall trotzdem funktioniert.
Option allow_url_fopen im my.cyon
Falls die Funktion nicht ständig vorausgesetzt wird, empfehlen wir, die Option nur bei effektivem Gebrauch zu aktivieren (z.B. bei einem Update der Software). Dank der komfortablen Verwaltung in Ihrem my.cyon ist das eine Sache von nur wenigen Mausklicks.

Beteilige dich an der Diskussion

5 Kommentare

Bea
Bea 28. Feb. 2013 22:28

Und bei welchen CMS ist das so?

Philipp Zeder
Philipp Zeder cyon
5. März 2013 11:01

Hallo Bea
Beispielsweise Joomla 2.5 benötigt allow_url_fopen für die automatische Updatefunktion. In diesem Fall kann man, wie beschrieben, die Funktion einfach temporär aktivieren um auf Nummer sicher zu gehen.

Bea
Bea 6. März 2013 09:01

Ui danke, das Betrifft genau mich. Werde das grad bei meine Joomlas abstellen. Danke. Frau lernt nie aus :-D

Christian
Christian 28. Feb. 2013 19:06

Das ist ja schön und gut, jedoch wird eine Tatsache vergessen: Alle Beispiele auf der genannten Webseite basieren darauf, dass KEINE Überprüfung der Benutzereingabe erfolgt. Das ist jedoch Grundlage Nummer 1 (Nie Userdaten vertrauen).

Bei einer genügenden Überprüfung der Benutzereingabe (e.g. auf zwei Punkte am Stück, Slashs, …) oder einer Whitelist lässt sich das ganze Problem lösen.

Philipp Zeder
Philipp Zeder cyon
5. März 2013 10:43

Christian, merci für Deinen Kommentar.
Die Überprüfung der Benutzereingaben sollte natürlich Standard sein. Wir haben leider die Erfahrung gemacht, dass dieser Punkt oft vergessen geht. Wie gesagt, lässt sich dann aber relativ schnell auf die Qualität des restlichen Codes schliessen.