open_basedir und opendir()

Alles, was PHP betrifft, kann hier besprochen werden.

open_basedir und opendir()

Postby MisterD » 04. December 2007 01:00

Hallo,

kleine Frage:
Ich habe bei mir grade ein Script das das Verzeichnis, was gleichzeitig als open_basedir gesetzt ist, auslesen soll. Das Problem dabei ist, opendir() versucht, das verzeichnis mit namen zu öffnen, z.B. /bla/verzeichnis
jetzt hätte ich aber mein open_basedir gerne auf /bla/verzeichnis/ beschränkt, damit scripte aus diesem vhost keinen Zugriff auf /bla/verzeichnis2 oder /bla/verzeichnis3 haben - allerdings wird dann eben der zugriff auf das Verzeichnis an sich, /bla/verzeichnis, den opendir durchführen will, nicht zugelassen (auch nicht wenn ich opendir('/bla/verzeichnis/') mache, gibt auch den fehler, dass /bla/verzeichnis nicht zulässig ist).

gibts da ne Möglichkeit das ganze so hinzukriegen, dass ich zugriff auf das verzeichnis an sich habe aber trotzdem den / am ende mit in die basedir-restriktion nehmen kann?
User avatar
MisterD
 
Posts: 12
Joined: 28. August 2004 09:32

Postby Scory » 04. December 2007 16:10

Ich habe das jetzt auf die Schnelle unter Windows XP getestet - da funktioniert das einwandfrei:

Setze ich open_basedir = 'c:/programme/xampp/htdocs/' (mit Slash am Ende!), dann bringt opendir('c:/programme/xampp/htdocs') keine Fehlermeldung.

Ansonsten kannst Du (falls es bei Dir wirklich so nicht geht) ja immer noch tricksen:

Code: Select all
$fd = opendir('/bla/verzeichnis/./');


Einfach den Punkt (aktuelles Verzeichnis) mit einbeziehen. Den abschließenden Slash kann man auch weglassen.

Grüße
Scory
Scory
 

Postby MisterD » 04. December 2007 19:00

den "trick" hab ich schon probiert, es funktionierte nicht mit verzeichnis/, verzeichnis, und ../ aus verzeichnis/bla/ raus, er hats immer aufs selbe ohne slash übersetzt wo er nich drauf dürfte.

Aber ich habs das basedir mit \ angegeben, ich versuchs mal mit / - vielleicht hilft das..

okay - das hats getan :roll: danke

/edit: Aber grade noch in den php bugreports gefunden - dadurch das für opendir der / hinten "abgeschnitten" wird ist opendir auf verzeichnise mit postfix trotz des slashs am ende möglich x) (Da brauch ich jetzt keinen fix für, das is mir grade egal - und das safemode-zeug wird ja eh abgeschafft..)
User avatar
MisterD
 
Posts: 12
Joined: 28. August 2004 09:32


Return to PHP

Who is online

Users browsing this forum: No registered users and 1 guest