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.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *

*

Poți folosi aceste etichete HTML și atribute: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">