phpbar.de logo

Mailinglisten-Archive

[php] open_basedir

[php] open_basedir

Christoph Jeschke christoph.jeschke at gmail.com
Fr Feb 26 17:48:13 CET 2010


*  Holm Kapschitzki schrieb:

Hallo Holm,

> Ich beziehe mich auf folgenden Link.
>
> http://de.php.net/manual/en/ini.core.php#ini.open-basedir
>
> Ab PHP 5.3 ist es möglich open_basedir über htaccess?, php.ini,
> ini_set() oder in der httpd.conf zu setzen. Wenn ich jetzt php über fcgi
> einsetze, also der vhost unter dem jeweiligen Benutzer läuft und für
> diesen Benutzer in seiner eigenen php.ini ein "open_basedir" gesetzt
> ist, z. Bsp. "/var/www/web1/", dann kann doch wohl nicht der user web1
> über eine htaccess Datei das "open_basedir" auf "/var/www/web2/" setzen?

In seiner php.ini kann er das und konnte es auch immer. Dein User
sollte keinen Zugriff auf seine php.ini haben.

> Ich habe das so verstanden das open_basedir nur über ini_set() gesetzt
> werden kann und nicht in einer htaccess Datei.

PHP_INI_ALL bedeutet, dass der Wert auch in einer .htaccess gesetzt
werden kann ("Entry can be set anywhere").

> Wenn doch, dann doch nur
> auf "/var/www/web1/ordner/"? Also kann nur ein Pfad angeben unterhalb
> des "open_basedirs", welches in der php.ini gesetzt ist?

In der Doku steht "tighten". Das interpretiere ich, ohne es getestet
zu haben, so, dass der Pfad nur weiter eingegrenzt werden kann.

> Wenn man die Funktion ini_set() als "disabled function" nimmt, dann ist
> ein Setzen des "open_basedirs" nicht möglich zur Laufzeit, aber was ist
> mit der htaccess? Gilt hier das oben beschriebene?

Ja.

Gruß
Christoph

php::bar PHP Wiki   -   Listenarchive