Els atacs freqüents de pirates informàtics demostren que la seguretat web continua sent el tema més important per a qualsevol persona que faci negocis a Internet. Els servidors són sovint els objectius d’aquests atacs a causa de la informació que emmagatzemen. És per això que cal garantir una protecció fiable del servidor.
Protecció de PHP a Apache
Inicieu el protocol "phpinfo ()" i comproveu la línia amb l'ordre "open_basedir". Amb aquesta ordre podeu definir el directori base per a tots els usuaris. Després d’establir aquest valor, ja no podran obrir fitxers fora d’aquesta carpeta arrel ni dels seus subdirectoris com ara "C: / Windows".
Si teniu altres directoris estructurals, definiu-los com a directori base amb l'ordre "www_root". Tot i això, un usuari també podrà llegir i modificar els fitxers d’un altre usuari. Cal evitar-ho.
Malauradament, no hi ha opcions al fitxer php.ini per evitar que un usuari accedeixi a les dades d’un altre.
Però hi ha una manera interessant si PHP funciona amb Apache. A phpinfo () trobareu dues columnes: valor principal i valor local. El primer és el valor de "php.ini". El segon és un valor que es determina mentre s’executa el servidor.
Si el valor principal és petit en termes numèrics, es pot canviar a l'script mitjançant l'ordre "ini_set ()". Això no s'aplica a "open_basedir" perquè aquest valor és crític per a la seguretat i només pot ser modificat per un administrador.
A Apache, el fitxer de configuració "httpd.conf" es pot especificar al manual amb el valor local "open_basedir".
Altres paràmetres de PHP
Si definiu "disable_functions" al fitxer "php.ini", heu de desactivar funcions potencialment perilloses.
Penseu bé en cada acció que feu. Desactivar la funció significa que alguns scripts deixaran de funcionar.
Algunes funcions són realment perilloses i no solen ser necessàries per a la creació de scripts. Es poden necessitar altres per a propòsits específics. Per tant, no és fàcil desactivar totes les funcions que poden ser perilloses, però també ponderar amb cura les vostres decisions.
No creieu que la funció "safe_mode = On" només serà suficient. Pot desactivar algunes funcions útils i no solucionar el problema de seguretat descrit anteriorment. El mode segur està obsolet a PHP 5.3.0 i s’elimina a PHP 6.0.0.
Problemes de protecció
Hi ha diversos errors que un desenvolupador web pot cometre i fer que un lloc web sigui insegur.
Per exemple, si creeu el vostre bloc i permeteu als usuaris penjar imatges, això pot suposar un perill greu quan un principiant l’escriu. Hi ha diversos errors que un programador pot cometre a la pàgina d'inici de sessió, etc. Un dels més comuns és la manca de prohibició de descarregar algoritmes maliciosos.
El punt important és que un lloc insegur a l’allotjament públic és una amenaça per a tot el servidor. També pot ser arriscat instal·lar projectes de codi obert com PHP-Nuke. Ja s'han descobert diverses vulnerabilitats en projectes similars.