PHP este unul dintre limbajele de programare cele mai utilizate, de la script-uri de baza pana la aplicatii web complexe. Acesta este parte a suitei LAMP (Linux, Apache, MySQL si PHP), si este unul dintre cele mai simplu de utilizat sisteme atunci cand vine vorba de instalarea unor sisteme de management de continut terte si alte instrumente.
Deoarece PHP este atat de renumit, acesta este de asemenea si o tinta primara a atacatorilor cibernetici. Tinand cont de acest fapt, administratorii de sistem ar trebui sa faca tot posibilul pentru a se asigura ca PHP este securizat cat mai bine posibil. Chiar daca acest lucru nu poate preveni in totalitate eroarea umana, poate cel putin sa mentina un server dedicat in conditii de siguranta. O modalitate de a securiza PHP este sa instalati si sa utilizati suPHP.
Premisa din spatele suPHP este destul de simpla. In loc sa rulati toate scripturile PHP ca un utilizator generic precum “nobody” (prin CGI), sau chiar mai rau, sa le rulati ca utilizator Apache, suPHP ruleaza fiecare script prin intermediul utilizatorul sau. Cu alte cuvinte, daca un utilizator de cont de web hosting porneste un script, acesta va rula sub numele sau de utilizator. Orice alti utilizatori vor rula scripturi in cadrul conturilor proprii. Acest lucru limiteaza in mod semnificativ daunele pe care un atacator le-ar putea face, din moment ce utilizatorii de cont de hosting au privilegii limitate.
Conform descrierii de pe site-ul oficial suPHP, acesta executa scripturi PHP folosind permisiunile proprietarului de script. El realizeaza acest lucru folosind un modul Apache numit mod_suphp si un executabil binar numit suphp pe care modulul Apache il foloseste pentru a schimba user indentifierul (UID) procesului care executa interpreterul scriptului PHP. Rezultatul consta intr-o executare mult mai sigura a scripturilor PHP, ceea ce inseamna aplicatii web mai sigure.