Quando un utente inserisce dati in un form, questi dati non devono essere solo validati, ma anche puliti prima di essere utilizzati.
Il processo di pulizia dei dati si chiama sanitizzazione.
La sanitizzazione serve per:
🛡️ evitare problemi di sicurezza
🧽 rimuovere caratteri indesiderati
🔒 impedire l'esecuzione di codice malevolo
📊 rendere i dati sicuri da utilizzare
È importante capire la differenza tra questi due concetti.
| Tipo | Significato |
|---|---|
| ✅ Validazione | controlla se i dati sono corretti |
| 🧹 Sanitizzazione | pulisce i dati prima di usarli |
Un campo email:
Validazione → controlla se la email è corretta
Sanitizzazione → rimuove caratteri non validi
Una delle operazioni più semplici è eliminare gli spazi all’inizio o alla fine del testo.
Per farlo si usa la funzione:
trim()
<?php |
Questo elimina gli spazi indesiderati prima e dopo il testo.
Un utente potrebbe inserire codice HTML o JavaScript in un campo di testo.
Per evitare problemi si utilizza:
htmlspecialchars()
<?php |
Questa funzione trasforma i caratteri speciali in formato sicuro.
Se un utente scrive:
<script>alert("ciao")</script> |
diventerà:
<script>alert("ciao")</script>
In questo modo il codice non verrà eseguito.
Un altro metodo utile è eliminare completamente i tag HTML.
Per farlo si usa:
strip_tags()
<?php |
Se l’utente inserisce:
<b>Ciao</b>
Il risultato sarà:
Ciao
filter_var()PHP offre anche strumenti per pulire dati specifici.
<?php |
Questo rimuove caratteri non validi da una email.
<?php |
<?php |
Questo esempio:
1️⃣ rimuove gli spazi
2️⃣ elimina i tag HTML
3️⃣ protegge il codice speciale
La sanitizzazione aiuta a prevenire diversi problemi di sicurezza come:
🚫 XSS (Cross Site Scripting)
⚠ inserimento di codice HTML malevolo
🛑 manipolazione dei dati
Per questo motivo è sempre consigliato pulire i dati prima di usarli o salvarli nel database.
Le funzioni più usate per sanitizzare i dati sono:
| Funzione | Uso |
|---|---|
trim() |
rimuove spazi inutili |
htmlspecialchars() |
protegge codice HTML |
strip_tags() |
elimina tag HTML |
filter_var() |
pulisce dati specifici |
La sanitizzazione dei dati è una pratica fondamentale nello sviluppo web con PHP. Pulire i dati inseriti dagli utenti permette di rendere le applicazioni più sicure e affidabili.
Se vuoi, il prossimo articolo perfetto per completare questa parte del tutorial è:
🔐 Protezione da SQL Injection
perché è uno dei problemi di sicurezza più importanti quando si lavora con PHP e database MySQL.