Introducere

PHP este un limbaj de programare web puternic, iar interpretorul său, fie că este inclus în serverul web ca un modul, sau executat separat ca binar CGI, este capabil să acceseze fișiere, să execute comenzi sau să deschidă conexiuni în rețea pe server. Aceste proprietăți fac ca totul ce este rulat pe server să fie implicit nesecurizat. PHP a fost proiectat în mod specific pentru ca să fie un limbaj mai securizat pentru scrierea programelor CGI decât Perl sau C, și cu o selectare corectă a opțiunilor de configurare la compilare și la rulare, dublate de o tehnică de programare corespunzătoare, PHP vă poate oferi combinația perfectă de libertate și securitate de care aveți nevoie.

Deoarece există multe modalități diferite de a utiliza PHP, există și multe opțiuni de configurare care îi controlează comportamentul. O gamă largă de opțiuni de configurare garantează posibilitatea utilizării PHP pentru o întreagă suită de întrebuințări, dar aceasta totodată înseamnă că pot exista combinații ale acestor opțiuni și ale configurațiilor de servere, care vor duce la crearea unui mediu de execuție nesecurizat.

Flexibilitatea configurațiilor în PHP este egală și rivalizează cu flexibilitatea codului-sursă. PHP poate fi utilizat pentru a construi aplicații complete pentru servere, cu toate avantajele unui utilizator shell, sau poate fi utilizat ca o simplă incluziune de partea serverului cu grad de risc redus, într-un mediu bine controlat. Modul de construire a acestui mediu și cât de securizat este el depinde în mare măsură de programatorul PHP.

Acest capitol începe cu câteva sfaturi generale în privința securității, explică diferite combinații ale opțiunilor de configurare, precum și situațiile în care pot fi folosite cu siguranță; descrie de asemenea, diferite considerații legate de programare la diferite nivele de securitate.