Setarea drepturilor de scriere corect

Posted by

Multi intampina la PHP probleme atunci cand incearca sa scrie intr-un fisier sau sa uploadeze poze pe host si dau de tot felul de erori. Eu am patit-o cu wordpress 3.0 cand l-am mutat pe alt server. De cele mai multe ori sfatul care il primesc se rezuma la un chmod 777 ceea ce nu e cel mai intelept lucru pe care trebuie sa-l faceti. Daca dati drepturi de scriere oricui in acel director deja se poate spune ca exista o bresa in securitatea siteului. Si daca lucrurile par sa mearga, vor merge pana cand ve-ti gasi siteul spart sau baza de date stearsa.

Pentru cei care vor totusi sa faca lucrurile ca la carte sau care nu reusesc sa scrie in directorul respectiv nici dupa ce dau drepturi totale de acees le recomand urmatorii pasi:

1. Sa creeze un fisier phpinfo.php cu urmatoarea linie de cod in interior <?php phpinf(); ?>

2. Cauta undeva in josul pagini la apache2handler dupa User/Group

3. Memoreaza acel user si grup, de exempu la mine era apache(23)/23. Deci userul este apache

4. Mergi cu un nivel mai sus fata de directorul in care ai instalat siteul de exemplu siteul meu este in var/www/vhosts/haotik.ro/httpdocs/

5. Executa chown -R [username_gasit_in_phpinfo] httpdocs/ si in felul asta va deveni apache-ul owner peste fisierele respective

6. De asemenea dati drepturi de scirere doar userului nu si pe group sau other in directorul unde vreti sa scrieti informatia. chmod -R 766 uploads/