Sicurezza del proprio sito web – Php Mysql
Talvolta, non ci si sofferma sul fattore sicurezza. L’osservazione è rivolta a web designer che realizzano per i loro clienti applicazioni web. Fintanto che l’aspetto dinamico di un sito web è esclusivamente il form contatti con nessuna relazione con database grandi problemi non ne corriamo, ad eccezione dello spam. Infatti, basterebbe dotare per lo meno il modulo form di una soluzione captcha, anche di base. Per lo meno. Ma nella maggioranza dei casi non viene adottata e gli amministratori del sito ricevono valanghe di email spam. Di spam ne abbiamo già parlato su questo blog.
Quando poi il sito diventa più dinamico, quando vengono implementate sezioni di registrazione utente e catalogo online l’attenzione alla sicurezza deve essere il primo punto, anche se il cliente non comprenderà forse mai appieno il lavoro per rendere il più possibile sicuro il sito web.
La sicurezza al cento per cento non esiste. Un caso è internet explorer ed è di questi giorni come già detto anche sul blog della situazione imbarazzante di Microsoft dal fatto Google/China e presa di distanze da parte del governo tedesco e a ruota da quello francese. Guarda caso sempre prima i tedesci e poi i francesi, in tante storie recenti d’Europa in materia economica. Ma tralasciamo perchè per parlare dell’asse Berlino Parigi non basterebbe il blog.
Tornando alla sicurezza. Se non riescono quelli di Microsoft a rendere sicura un’applicazione penserete per caso che uno sviluppatore autonomo di php mysql possa superare i tipi di Redmond? No, purtroppo. Tuttavia, si possono evitare grosse disavventure applicando un minimo di logica nella programmazione del proprio applicativo web.
Vediamo per cominiciare in questo post e per poi proseguire nei prossimi post gli aspetti della messa in sicurezza di dati con php e mysql.
Utilizzando i dati di un form utilizzate POST anziché GET.
Quando inviate valori alle variabili abbiate cura di effettuare le verifiche opportune. Ad esempio:
immaginiamo di inviare i seguenti dati: nome, cognome, indirizzo, email.
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$indirizzo = $_POST['indirizzo'];
$email = $_POST['email'];
// applichiamo filtri alle variabili
$nome = trim(htmlspecialchars(mysql_real_escape_string($nome)));