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

Home ~ Php :: La sicurezza in PHP :: Indice Php

La sicurezza in PHP

Categoria: Php Inserito il: 10-07-2006 Stampa (6033 click)

Quando si creano delle applicazioni in PHP non è importante soltanto creare script che funzionino correttamente, bisogna inoltre fare sempre attenzione alla sicurezza; la rete è infatti ricca di insidie e sono tante le possibilità di vedere il nostro lavoro rovinato da qualche malintenzionato.

Per cominciare, diremo subito che ci sono due modi di affrontare il discorso inerente la sicurezza in PHP, uno riguarda la configurazione e quindi il file PHP.INI, l'altro riguarda la digitazione del listato. In questa breve serie di articoli analizzeremo entrambe le metodologie.

Prima di affrontare il discorso sicurezza dal punto di vista più prettamente tecnico, possiamo suggerire subito al lettore alcune semplici regole comportamentali che, se osservate con attenzione, aiuteranno lo sviluppatore nella creazione di applicazioni più sicure:

  1. Non utilizzare il metodo Get per il trasferimento di dati quando è possibile sostituirlo con il metodo Post; come noto, infatti, il primo metodo trasporta le informazioni in querystring, quindi 'in chiaro', permettendo la loro visualizzazione a chiunque. Il discorso diventa ancora più importante quando si manipolano dati sensibili come UserID e password.
  2. Aggiornare frequentemente il nostro sistema, consulatare spesso il sito ufficiale di PHP ponendo particolare attenzione alle info riguardanti la scoperta di nuovi bugs e alle possibili modifiche al file di configurazione che possano rendersi necessarie.
    Fare inoltre attenzione alle funzioni che vengono considerate 'deprecate' per le nuove distribuzioni di PHP.
  3. Limitare il più possibile le occasioni di intervento sul sistema da parte degli utenti, vanno bene la gestione personalizzata dei template e la possibilità di inserire commenti agli articoli etc., ma il tutto deve essere consentito senza che l'utente abbia la stessa possibilità di accesso ai dati dell'admin.
  4. Monitorare costantemente gli accessi facendo particolare attenzione alla loro provenienza e considerando come "osservati speciali" coloro che accedono troppo spesso alle nostre applicazioni; consideriamo che non tutti i visitatori sono "umani" (ad esempio, gli spambot per i form to mail).
  5. (MySQL) Far accedere gli script alle basi di dati tramite utenti che non possiedano tutti i privilegi; perchè l'utente definito nel file di configurazione di un guestbook dovrebbe poter agire tramite GRANT o DROP? Lasciamo al root questi privilegi e non utilizziamolo per le connessioni tramite applicazione ma solo per l'amministrazione del DBMS.
  6. Utilizzare controlli lato server, inutile fare affidamento su quelli lato client, se pur ottimi dal punto di vista funzionale questi ultimi possono essere facilmente aggirati o disabilitati.
Detto questo, passeremo alla descrizione di alcuni accorgimenti per la configurazione che dovranno essere presi in seria considerazione per la sicurezza delle nostre applicazioni e dei dati da esse gestiti.

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.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle più importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Incapsulazione, ereditarietà e polimorfismo
La programmazione orientata agli oggetti prevede l'esistenza di tre componenti fondamentali che caratterizzano profondamente ogni aspetto di questa metodologia... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti