downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Cazul 4: interpretorul PHP se află în afara directorului rădăcină web> <Cazul 2: utilizarea --enable-force-cgi-redirect
Last updated: Fri, 20 Nov 2009

view this page in

Cazul 3: stabilirea doc_root sau user_dir

Includerea de conţinut activ, de pildă scripturi şi executabile, în directoarele serverului web destinate documentelor este de multe ori considerată o metodă nesigură. Dacă, din cauza unei greşeli în configuraţie, scripturile nu sunt executate ci afişate ca documente HTML, aceasta va duce la dezvăluirea proprietăţii intelectuale sau a informaţiei securizate, cum ar fi parolele. De aceea mulţi administratori de sistem configurează o altă structură de directoare pentru scripturile care sunt accesibile numai prin PHP CGI, deci care vor fi întotdeauna interpretate şi nu afişate direct.

De asemenea dacă metoda de determinare a redirecţionării interpelării, descrisă mai sus, nu este disponibilă, atunci este necesară configurarea unui director doc_root pentru scripturi, care este diferit de cel pentru documente web.

Puteţi stabili directorul-rădăcină al scripturilor PHP prin directiva doc_root din fişierul de configuraţie, sau puteţi configura variabila de mediu PHP_DOCUMENT_ROOT. Dacă este setată, versiunea CGI a PHP întotdeauna va construi denumirea fişierului astfel ca să fie deschis cu acest doc_root şi informaţiile despre cale din interpelare, de aceea puteţi fi sigur că nici un script nu va fi executat în afara acestui director (excepţie fiind user_dir de mai jos).

O altă opţiune folosită este user_dir. Când user_dir nu este configurat, singurul lucru care controlează fişierul deschis este doc_root . Deschiderea unui URL ca http://my.host/~user/doc.php nu va rezulta în deschiderea unui fişier din directorul home al utilizatorului, ci a unui fişier numit ~user/doc.php din doc_root (da, un director a cărui denumire începe cu tildă [~]).

Dacă user_dir este configurat spre exemplu ca public_php, o interpelare de genul http://my.host/~user/doc.php va deschide un fişier numit doc.php din directorul numit public_php aflat în directorul home al utilizatorului "user". Dacă directorul rădăcină al utilizatorului "user" este /home/user, fişierul executat este /home/user/public_php/doc.php.

Expansiunea user_dir se petrece independent de setarea doc_root , deci puteţi controla accesul la directorul rădăcină şi la directoarele utilizatorilor în mod separat.



add a note add a note User Contributed Notes
Cazul 3: stabilirea doc_root sau user_dir
There are no user contributed notes for this page.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites