Configurazione del PHP.INI e sicurezza

10/07/2006

PHP.INI, il file di configurazione di PHP, può essere settato in modo da rendere più sicuro l'ambiente in cui le nostre applicazioni devono funzionare; questi setaggi riguardano in particolare alcune voci che andremo ad elencare di seguito:

  1. register_globals: questa voce, che per sicurezza dovrebbe essere settata su Off, permette o meno di rendere superglobali alcune variabili d'ambiente come Get, Post, Cookie e Session.
    Molti provider di hosting lasciano questa voce su On in modo che i clienti possano utilizzare script datati; se non si può fare a meno di impiegare vecchie applicazioni, il nostro consiglio è quello di disattivare questa voce e 'simulare' il register_globals in On tramite uno script come questo.
  2. magic_quotes_gpc: questa direttiva permette di operare l'escape su backslash, apici, doppi apici e caratteri NULL trasmessi tramite i metodi, come ad esempio Get e Post; è importante settare in On questa direttiva in particolare per prevenire gli attacchi da SQL injection mirati contro le basi di dati.
  3. magic_quotes_runtime: come magic_quotes_gpc, anche questa direttiva permette l'escape di backslash, apici, doppi apici e caratteri NULL, è però riferita non ai metodi ma alle fonti esterne di informazioni come database e file di testo. On rappresenta il setaggio ottimale.
  4. error_reporting: questa voce attiene alla notifica degli errori; quando si sviluppa un'applicazione è bene poter visualizzare tutti gli errori (setaggio: error_reporting = E_ALL); sul web non è necessario che altri utenti conoscano la causa delle eccezioni generate dalle nostre applicazioni (consigliabile il setaggio display_errors = Off).
    Sono da tenere in buona considerazione anche le direttive log_errors e error_log: la prima, se viene settata in On, permette di redirigere i messaggi di errore verso i file di log, la seconda specifica invece il percorso al file di log che su cui verranno notificati gli errori (ad es: /var/php/log).
  5. file_uploads: se le nostre applicazioni non prevedono l'upload di file è bene disattivare questa voce;
  6. allow_url_fopen: se attivata questa direttiva consente di manipolare le URL (http:// o ftp://) come fossero dei file, se non necessaria settare la voce corrispondente in off.
  7. disable_functions: per questioni legate alla sicurezza, è possibile impedire l'esecuzione di alcune funzioni che potrebbero essere sfruttate per produrre comportamenti dannosi; per disattivare determinate funzioni basta elencarle separate da una virgola di seguito alla voce corrispondente al nome della direttiva.
Oltre alle direttive elencate, ve ne sono altre correlate al cosiddetto Safe Mode di cui parleremo più diffusamente nel prossimo articolo.

Attenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione,
anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.

© Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Stampa :: Torna alla Home