Webhosting:URL-Wrapper (allow url fopen) in PHP aktivieren
Diese Anleitung zeigt Ihnen, wie Sie in Ihrem Webhosting-Paket die URL-Wrapper in PHP, z.B. für fopen()
, include()
oder require()
, aktivieren.
Inhaltsverzeichnis
Hinweise
Diese Anleitung geht davon aus, dass Sie ein Webhosting-Paket bei uns haben.
Sicherheitshinweis
Die URL-Wrapper in PHP sind aus Sicherheitsgründen standardmäßig deaktiviert. Sie sollten diese nur aktivieren,
- wenn Sie diese Funktionalität zwingend benötigend und nicht anderweitig abbilden können
- wenn Sie PHP-Anwendungen einsetzen,
- die aus vertrauenswürdigen Quellen stammen
- die regelmäßig gewartet und aktualisiert werden
- wenn Sie sich sicher sind, welches Sicherheitsrisiko Sie damit eingehen
Wichtig: Sie als Betreiber Ihres Webhosting-Pakets sind für alles, was durch Sie direkt oder durch die von Ihnen eingesetzten Systeme oder Skripte verursacht wird, verantwortlich, auch wenn dies durch Dritte und/oder ohne Ihr Wissen geschieht. Durch die Verwendung von URL-Wrappern in PHP setzen Sie sich einem erhöhten Sicherheitsrisiko aus. Sofern Sie diese reaktivieren, auch nur teilweise, übernehmen Sie die volle Verantwortung für alle dadurch entstehenden Schäden und Folgeschäden. Sofern Sie sich der Höhe und des Umfangs des Risikos nicht bewusst sind, lassen Sie die Funktionalität bitte deaktiviert.
Warum die URL-Wrapper in PHP ein Sicherheitsrisiko sind
Ursprünglich waren die Funktionen fopen()
, include()
oder require()
etc. dazu gedacht, lokal existierende Dateien in PHP einzubinden bzw. zu öffnen. Im Laufe der Zeit wurde jedoch der Wunsch seitens der Programmierer groß, auch http://
- und
ftp://
-Streams ohne größeren Aufwand verwenden zu können. Dies kann z.B. so aussehen
$hFile = fopen('http://www.anderedomain.de/test.html');
Dies alleine birgt noch kein Sicherheitsrisiko in sich. Viele unsauber programmierte Skripte aber übernehmen ungeprüfte Formular-Daten direkt in den Aufruf z.B. von fopen()
. Ein Skript mit dem Inhalt
include($cmd);
ermöglicht es beliebigen Dritten, Code an Ihre PHP-Skripte zu übergeben, indem er den Wert der Variable cmd geschickt wählt, und dass er damit Schaden in Ihrem Namen anrichten kann, der unter Ihre Verantwortung fällt.
Aus Sicherheitsgründen ist die Verwendung der URL-Wrapper standardmäßig zu Ihrer eigenen Sicherheit deaktiviert, eine Verwendung führt zu einer Fehlermeldung.
Anleitung
Sofern Sie auf die URL-Wrapper angewiesen sind, können Sie diese manuell für einzelne Skripte und/oder Verzeichnisse reaktivieren. Es gibt dazu zwei Möglichkeiten.
via .htaccess-Datei
Erstellen Sie eine Textdatei namens .htaccess
mit folgender Anweisung:
php_flag allow_url_fopen on
im PHP-Skript
Sie können die URL-Wrapper in jedem PHP-Skript jederzeit über den Befehl
ini_set('allow_url_fopen', '1');
aktivieren und über
ini_set('allow_url_fopen', '0');
wieder deaktivieren.