Spesso ci capita di dove inviare i dati di un form HTML alla stessa pagina che contiene il modulo.
E' buona norma "sanificare" anche in maniera semplificata, come vedremo oggi, i dati ricevuti dai form o tramite chiamate GET.
Come al solito PHP possiede già innumerevoli funzioni che ci aiutano nello sviluppo delle nostre applicazioni, e una semplice funzione che può già sensibilmente migliorare la qualità dei dati passati è htmlspecialchars.
Questa funzione converte alcuni caratteri speciali, ad esempio:
'&' (e commerciale) diventa '&' '"' (doppio apice) diventa '"' con ENT_NOQUOTES is not set. ''' (singolo apice) diventa ''' soltanto con l'impostazione di ENT_QUOTES. '<' (minore) diventa '<' '>' (maggiore) diventa '>
Facciamo un esempio pratico, supponiamo di avere un modulo contenente due input, uno per il nome e uno per il cognome, al click sul nostro "invia dati", che punterà alla stessa pagina che contiene il modulo possiamo eseguire la nostra funzione:
$azienda = htmlspecialchars($_POST['azienda'],ENT_QUOTES); $cognome = htmlspecialchars($_POST['cognome'], ENT_QUOTES);
Di conseguenza se l'input azienda contiene il degli apici o "e commerciali (&)" queste verranno convertite automaticamente nelle loro entità HTML grazie anche al suffisso ENT_QUOTES.
Questo ci permette di evitare sql injection, almeno le più banali, e rendere più sicure le nostre applicazioni, ovviamente la sicurezza non è mai troppo e potremmo creare noi stessi una funzione per poter sanificare i nostri dati, in base alle nostre esigenze.
Ci tengo a precisare che questo è soltanto un semplice esempio, la sanificazione dei dati andrebbe gestita con funzioni ad hoc.
ATTENZIONE: il tuo commento verrà prima moderato e se ritenuto idoneo sarà pubblicato
© 2007-2024 - ATTIVA WEB - Internet agency - P. iva 02645880739
Realizzazione siti internet Martina Franca, ecommerce Martina Franca
Via Giacomo Puccini 23 - 74015 Martina Franca (TA) - Privacy & Cookie Law