di: Marco Bonzanini 22 Gennaio 2004
La creazione di contenuti dinamici che consentano all'utente di interagire con il nostro sito sono spesso alla base del successo o dell'insuccesso dei servizi che offriamo tramite il web. Maggiore è l'importanza dei dati che gestiamo, maggiore sarà anche il bisogno di sicurezza che ruota attorno ai dati stessi. La sicurezza di un sito web non viene garantita soltanto da un web server ben configurato, o da un tunnel SSL, ma deve essere implementata in maniera coscienziosa anche da chi sviluppa l'applicazione web, nel nostro caso il programmatore PHP. In questo articolo andremo a conoscere una delle più classiche tipologie di attacco legate al web, molto diffusa ma spessa sottovalutata, che va a colpire il cuore dell'applicazione web, ossia il database: si tratta dell'attacco di tipo SQL Injection. È importante tenere presente che questo fenomeno può interessare qualsiasi linguaggio di programmazione e qualsiasi DBMS, anche se gli esempi proposti faranno riferimento a PHP, con accenni a MySQL e PostgreSQL.
Il problema è relativamente semplice da capire, ma è anche molto pericoloso: effettuando una query SQL costruita sulla base di input passati da un utente, senza eseguire un controllo preventivo sullo stesso input, tale query può essere manipolata a piacimento. L'input dell'utente nel nostro caso può esserci trasmesso in vari modi: tramite URL (query string), tramite un form HTML oppure anche tramite un cookie costruito su misura. Non tutti gli utenti utilizzano il nostro sito in modo "ortodosso", ad esempio cliccando su un link o compilando correttamente un modulo, per cui i dati che ci arrivano potrebbero non rispettare le nostre aspettative.
Che tipo di problemi può portare una query manipolata arbitrariamente da un utente?
Guida Yii FrameworkCome creare applicazioni Web in modo semplice e veloce con il... |
Guida Zend FrameworkDiventate professionisti dello sviluppo Web. Zend Framework è lo... |
Guida Applicazioni Facebook con PHPCome realizzare un'applicazione per Facebook. Dalle basi della... |
Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.
Iscriviti alla newsletter
|
|
Corso PHP per Webmaster11 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |