Utilizzare un filtro (FILTER_SANITIZE_STRING
) per non permettere l’invio del codice HTML in un campo del database
Il filtro FILTER_SANITIZE_STRING
permette di non inviare codice html ad un campo di una tabella del database MySql, tramite un form.
FILTER_SANITIZE_STRING
filtra qualunque codice html ed invia al database solo il testo contenuto all’interno del codice.
Filtrare il codice html
Ad esempio vogliamo inviare questo codice html:
paragrafo, bold
Questo lo invieremo tramite un form con input di tipo text:
E nello script php scriveremo così:
if(isset($_POST['campo'])){
$campo = addslashes(filter_var($_POST['campo'], FILTER_SANITIZE_STRING));
}
campo è il nome del campo della tabella del database nel quale vogliamo inviare le nostre informazioni tramite il form.
Con filter_var
facciamo capire che stiamo per utilizzare un filtro.
Mentre FILTER_SANITIZE_STRING
è il nome del filtro che eviterà l’invio del codice html all’interno del database.
Dopo aver aggiunto il filtro FILTER_SANITIZE_STRING quali dati verranno salvati sul database?
Se ad esempio inviamo i seguenti dati:
paragrafo, bold
nel campo della nostra tabella del database non verranno salvati i tag html, ma solamente il testo contenuto all’interno, ovvero: paragrafo, bold