Forum und email

3. eset : a doc_root vagy user_dir beállítása

Aktív tartalom elhelyezése a normál dokumentumok között, (pl. szkriptek és futtatható állományok) veszélyes gyakorlat lehet. Ha például valamilyen beállítási hiba miatt a szkriptek ahelyett, hogy lefutnának hagyományos HTML dokumentumokként jelennek meg, mindenki számára tisztán láthatóvá válnak kódolási technikáid és titkos információk, mint például adatbázis jelszavaid. Ezért néhány rendszeradminisztrátor inkább egy külön könyvtárat jelöl ki, ami csak a PHP CGI által elérhető, és így mindig feldolgozásra kerül és nem jelenik meg a szkript kódja.

Ha a fent leírt átirányítás azonosítási mód nem működik, fontos, hogy egy különálló szkript doc_root-ot határozz meg, ami nem azonos a web doc_root-al.

A PHP szkript dokumentumok gyökérkönyvtárát a doc_root konfigurációs beállítással határozhatod meg a konfigurációs fájlban, vagy a PHP_DOCUMENT_ROOT környezeti változóban adhatod meg ezt az értéket. Ha ez be van állítva a PHP CGI verziója a fájl elérési útját a doc_root és a kérés elérési út információja (path information) alapján állítja elő, ami azt jelenti, hogy ezen a könyvtáron kívül nem futtatható fájl. (kivéve a user_dir esetét).

Egy másik itt használható opció a user_dir. Ha ez nincs megadva, csak a doc_root szabályozza a megnyitható fájlok körét. Ekkor egy https://domain.nev/~user/doc.php URL nem a "user" nevű felhasználó home könyvtárában lévő fájlt keresi, hanem a ~user/doc.php fájlt keresi a doc_root alatt (igen, egy tilde karakterrel kezdődő könyvtárban [~]).

Ha a user_dir meg van adva, például public_php, akkor a fenti https://domain.nev/~user/doc.php kérés a doc.php nevű fájlt fogja megnyitni a "user" nevű felhasználó home könyvtárában lévő public_php könyvtárban. Ha a "user" home könyvtára /home/user, a lefuttatandó fájl a /home/user/public_php/doc.php lesz.

A user_dir kifejtés a doc_root beállítástól függetlenül működik, úgyhogy a dokumentum gyökér és felhasználói könyvtár beállításokat külön is használhatod.