Cum permitem utilizatorilor acces doar pe directorul propriu in Apache.
Salutare tuturor!
Astazi am sa va prezint o metoda simpla prin care putem restrictiona un utilizator sa acceseze directoarele celorlalti sau invers atunci cand folosim VirtualHost-uri in Apache.
Dupa mai multe cautari pe internet am ajuns la concluzia ca php_admin_value open_basedir este cea mai buna solutie.
Modul de aplicare este urmatorul: in fisierul /etc/httpd/conf/httpd.conf vom edita virtual hostul si inainte de sfarsitul lui adaugam linia de mai sus exact ca in exemplul de mai jos:
1 2 3 4 5 6 7 |
<VirtualHost *:80> ServerName domeniu.ro ServerAlias www.domeniu.ro DocumentRoot /home/domeniu_ro/public_html ErrorLog /home/domeniu_ro/public_html/error_log.log php_admin_value open_basedir "/home/domeniu_ro/public_html/:/tmp/:/var/log/httpd/" </VirtualHost> |
Important: :/tmp/:/var/log/httpd/ este necesar pentru a permite site-ului sa utilizeze fisiere temporare si sa salveze log-uri, iar /home/domeniu_ro/public_html/ poate fi inlocuit cu calea catre directorul parinte al site-ului dorit.
Acum, utilizatorul este blocat in directorul propriu si nu poate parasi directorul sau prin diverse operatiuni (unlink; file_get_contents; require_once; include; s.a.m.d ).
Sper ca acest tutorial va fi folositor multor persoane asa cum imi este mie.
Asta a fost tot pe astazi! Ne vedem data viitoare cu un nou tutorial 🙂