Pogosti hekerski napadi dokazujejo, da je spletna varnost še vedno najpomembnejša težava za vse, ki poslujejo v internetu. Strežniki so najpogosteje tarča teh napadov zaradi informacij, ki jih shranijo. Zato je treba zagotoviti zanesljivo zaščito strežnika.
Zaščita PHP na Apache
Zaženite protokol "phpinfo ()" in preverite vrstico z ukazom "open_basedir". S tem ukazom lahko določite osnovni imenik za vse uporabnike. Po nastavitvi te vrednosti ne bodo mogli več odpirati datotek zunaj te korenske mape ali njenih podimenikov, kot je "C: / Windows".
Če imate druge strukturne imenike, jih z ukazom "www_root" definirajte kot osnovni imenik. Vendar pa bo en uporabnik lahko bral in spreminjal tudi datoteke drugega uporabnika. Tega je treba preprečiti.
Na žalost v datoteki php.ini ni možnosti, ki bi enemu uporabniku preprečila dostop do podatkov drugega.
Obstaja pa en zanimiv način, če PHP deluje na Apacheju. V phpinfo () boste našli dva stolpca: Primarna vrednost in Lokalna vrednost. Prva je vrednost v "php.ini". Druga je vrednost, ki se določi med izvajanjem strežnika.
Če je glavna vrednost v številskem smislu majhna, jo lahko v skriptu spremenite z ukazom "ini_set ()". To ne velja za "open_basedir", ker je ta vrednost varnostno pomembna in jo lahko spremeni samo skrbnik.
V Apacheju lahko v priročniku pod lokalno vrednostjo "open_basedir" določite konfiguracijsko datoteko "httpd.conf".
Druge nastavitve PHP
Z nastavitvijo "disable_functions" v datoteki "php.ini" morate onemogočiti funkcije, ki so potencialno nevarne.
Dobro premislite o vsakem svojem dejanju. Če onemogočite funkcijo, nekateri skripti prenehajo delovati.
Nekatere funkcije so resnično nevarne in običajno niso potrebne za skriptiranje. Za posebne namene bodo morda potrebne druge. Zato ni lahko onemogočiti vseh funkcij, ki so lahko nevarne, ampak tudi skrbno pretehtati svoje odločitve.
Ne verjemite, da bo zadostovala samo funkcija "safe_mode = On". Nekatere uporabne funkcije lahko onemogoči in ne odpravi zgoraj opisane varnostne težave. Varni način je opuščen v PHP 5.3.0 in odstranjen v PHP 6.0.0.
Vprašanja zaščite
Obstaja več napak, ki jih lahko naredi spletni razvijalec, zaradi česar je spletno mesto varno.
Če na primer ustvarite svoj spletni dnevnik in uporabnikom dovolite nalaganje slik, je to lahko resna nevarnost, če kodo napiše začetnik. Obstaja več napak, ki jih lahko naredi programer na prijavni strani itd. Ena najpogostejših je pomanjkanje prepovedi prenosa zlonamernih algoritmov.
Pomembno je, da eno negotovo spletno mesto na javnem gostovanju ogroža celoten strežnik. Tudi namestitev odprtokodnih projektov, kot je PHP-Nuke, je lahko tvegana. V podobnih projektih je bilo že odkritih več ranljivosti.