Allow_url_fopen gehört deaktiviert
Philipp Zeder
Kategorie:in
Entwicklung & Performance
Veröffentlicht am 28. Feb. 2013
Aktualisiert am 10. Sept. 2024
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.
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
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.
Ui danke, das Betrifft genau mich. Werde das grad bei meine Joomlas abstellen. Danke. Frau lernt nie aus :-D
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.
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.
Und bei welchen CMS ist das so?