| Weitere Artikel aus dem Webentwickler Blog |
| Teilen |
Datenbankprogrammierung - PHP - Tipps & Tricks
Sichere Seiten mit PHP 5 - Teil II
Theoretisch bietet PHP die Möglichkeit, auch externe Skripte einzubinden, also Dateien, die überhaupt nicht auf dem genutzten Server liegen. Es gibt einige seltene Spezialfälle, in denen Sie diese Möglichkeit nutzen wollen oder müssen.
Fast immer werden Sie aber nur Dateien öffnen, die sich auf dem gleichen System wie Ihre eigentliche Programmierung befinden. So lange das der Fall ist, lassen Sie daher allow_url_fopen deaktiviert.
allow_url_fopen = off
Sollte es tatsächlich jemand auf Ihre Webseite abgesehen habe, wird er so zumindest keine externen Skripte über Ihre Applikation aufrufen können.
open_basedir
Es bedarf keines großen Könnens, um sich mit PHP einen kleinen Datei-Browser zu basteln, mit dem man durch sämtliche Verzeichnisse des ausführenden Servers wandern kann.
Der Parameter open_basedir kann hier helfen, denn er beschränkt die Verzeichnisse, auf die PHP tatsächlich Zugriff hat. Meistens empfiehlt es sich, diesen Wert auf das Wurzel (Root) -Verzeichnis des Webservers zu legen, also z.B.:
open_basedir = C:\xampp\htdocs
Würden Sie nun versuchen, eine Datei z.B. direkt in C:\xampp aufzurufen, würde PHP Ihnen folgendes mitteilen:
Alles in allem wird es vielleicht fünf Minuten dauern, diese drei Parameter in der php.ini einzustellen, Sie schützen aber so jeden Webauftritt, der sich auf diesem Server befindet und beschränken darüber hinaus kaum Ihre PHP-Skripte.
Natürlich können Sie die php.ini nur dann ändern, wenn Sie tatsächlich vollen Zugriff auf den Server haben, auf dem Ihre Programmierung letztendlich liegen wird. Insbesondere wenn sich der Auftritt auf einem „Shared Server" befindet (also z.B. als Webspace bei einem der vielen Internet-Provider), haben Sie keinerlei Einfluss auf diese Einstellungen, denn diese gelten natürlich für alle User auf einem Server und können daher nicht individuell angepasst werden.
Meist ist es sogar noch schlimmer: Da sich mehrere User einen Server teilen, gehen viele Provider dazu über, die Sicherheitseinstellungen eher locker als streng einzustellen, um möglichst kompatibel zu möglichst vielen Programmierungen zu sein (und sich so möglichst viele Support-Anfragen zu ersparen).
Machen Sie in einem solchen Fall einfach Ihren Kunden auf dieses Problem aufmerksam. Sie machen ihm so ganz klar deutlich, dass nicht alle Sicherheitsaspekte in Ihrer Hand liegen.
![]() | PHP5 / MySQL5 Produktart: Buch 30,00 € |



































