PHP safe_mode

PHP Safe Mode era o setare care o puneam mai demult pe ON.

Se pare că de la un timp uitasem de ea. Azi m-am lovit din nou de ea

Se dă situația următoare:

Un mediu de hosting în care avem utilizatorul X și utilizatorul Y. Utilizatorul X are un CMS care se conectează la MySQL și are setările în /home/X/public_html/config.php.

Utilizatorul Y este un băiat deștept, care vede că X folosește un CMS și știe unde are acel CMS setările de bază de date. Își face pe contul lui un fișier PHP în care pune:

 < ?php
file_get_contents("/home/X/public_html/config.php");
?>

Scriptul la execuție îi va da tot conținutul fișierul config.php, inclusiv parola de conectare la MySQL. Cum într-un mediu de hosting parola de MySQL este aceeași ca și la userul de sistem, întregul sistem e astfel compromis.

Soluția? În php.ini:

safe_mode = on

Setarea face ca scriptul PHP care are UID-ul lui Y, acesta să nu poată vedea fișierele lui X.

Aveti nevoie de ajutor cu Linux Server sau WordPress?

Leave a Reply