Forum und email

Cazul 3: configurarea doc_root sau user_dir

Includerea de continut activ, de pilda scripturi si executabile, in directoarele serverului web este de multe ori considerata o metoda nesigura. Daca, din cauza unor configuratii gresite, scripturile nu sunt executate ci afisate ca documente HTML, atunci securitatea sistemului si informatii vitale cum ar fi parolele pot fi desconspirate. De aceea multi administratori de sistem configureaza un director creat special, in care ruleaza scripturi accesibile numai via PHP CGI, deci care sunt interpretate tot timpul ca atare.

De asemenea daca metoda de transmitere a cererilor, descrisa mai sus, nu este disponibila, atunci este necesara configurarea unui director doc_root care este diferit de documentul web root.

Puteti configura documentul radacina al scripturilor PHP prin directiva doc_root din fisierul de configuratie, sau puteti configura variabila de mediu PHP_DOCUMENT_ROOT. Daca este setata, versiunea PHP pe care o detineti va constui intotdeauna numele fisierului deschis din doc_root si informatiile despre cale din cerere, pentru a fi siguri ca scriptul este executat in afara acestui director (exceptie facand user_dir de mai jos).

Alta optiune folosita este user_dir. Cand user_dir nu este configurat, singurul lucru care controleaza fisierul deschis este doc_root . Deschiderea unui URL ca https://my.host/~user/doc.php nu rezulta din accesarea unui fisier din directorul home al utilizatorilor, ci a unui fisier numit ~user/doc.php din doc_root (da, un director a carui nume incepe cu tilda [~]).

Daca user_dir este configurat spre exemplu ca public_php, o cerere in genul https://my.host/~user/doc.php va deschide un fisier numit doc.php din directorul numit public_php aflat sub directorul radacina al utilizatorului user. Daca directorul radacina al utilizatorului user este /home/user, fisierul executat este /home/user/public_php/doc.php.

Expansiunea user_dir se poate face fara a tine cont de paramentrul doc_root din setari, deci puteti controla accesul la directorul radacina si la directoarele utilizatorilor in mod separat.