TS: Zugriff auf Dateien außerhalb des document_root

Beitrag lesen

Hello,

Du bist im Verzeichnis DOCUMENT_ROOT. Dann gehst du ein Verzeichnis nach unten. Dann bist du nicht mehr im DOCUMENT_ROOT, sondern im „Elternverzeichnis“ von DOCUMENT_ROOT. Von dort aus kannst du den vorherigen Schritt beliebig oft wiederholen oder aber auf die Dateien zugreifen.
OK, schlechte Idee. Ginge auch einfacher.
Der Hintergrund dieser Idee war eigentlich nur, dass ich nicht wusste, ob man mitten in einem Dateipfad ein „../“ einbauen darf.

Einbauen darf man im Pfad erst einmal alles. Ob PHP dann den Pfad auch auflösen (realpath()) darf und damit benutzten, hängt von der Einrichtungsart ab: Modul, fastCGI, ....

Wenn PHP als Modul des Apachen eingerichtet wird, ist die open_basedir()-Direktive (im VirtHost) maßgeblich.

Auf einem shared Host sollte man für jeden VirtHost diverse Directories separat außerhalb der Document-Root anordnen:

_skeleton/
├── data (d)
├── htdocs (d) 
│   ├── bilder (d)
│   ├── images (d) 
│   ├── robots.txt (f)
|   └── favicon.ico (f) 
├── includes (d)
├── logs (d)
├── sessions (d)
└── tmp (d)

Für das "bilder"-Directory (Upload) schalte ich z. B. grundsätzlich sämtliche Interpretation (php, CGI, ...) ab, da es innerhalb der DocRoot liegt.

Glück Auf
Tom vom Berg

--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.