🧹 Sanitizzazione dei Dati in PHP

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:


🧠 Differenza tra Validazione e Sanitizzazione

È importante capire la differenza tra questi due concetti.

Tipo Significato
✅ Validazione controlla se i dati sono corretti
🧹 Sanitizzazione pulisce i dati prima di usarli

Esempio

Un campo email:


✂ Rimuovere Spazi Inutili

Una delle operazioni più semplici è eliminare gli spazi all’inizio o alla fine del testo.

Per farlo si usa la funzione:

trim()

Esempio

<?php

$nome = trim($_POST["nome"]);

?>

Questo elimina gli spazi indesiderati prima e dopo il testo.


🔒 Proteggere il Codice HTML

Un utente potrebbe inserire codice HTML o JavaScript in un campo di testo.

Per evitare problemi si utilizza:

htmlspecialchars()

Esempio

<?php

$messaggio = htmlspecialchars($_POST["messaggio"]);
echo $messaggio;

?>

Questa funzione trasforma i caratteri speciali in formato sicuro.

Esempio

Se un utente scrive:

<script>alert("ciao")</script>

diventerà:

&lt;script&gt;alert("ciao")&lt;/script&gt;

In questo modo il codice non verrà eseguito.


🧽 Rimuovere i Tag HTML

Un altro metodo utile è eliminare completamente i tag HTML.

Per farlo si usa:

strip_tags()

Esempio

<?php

$testo = strip_tags($_POST["testo"]);

?>

Se l’utente inserisce:

<b>Ciao</b>

Il risultato sarà:

Ciao

🧰 Sanitizzare con filter_var()

PHP offre anche strumenti per pulire dati specifici.

Sanitizzare una email

<?php

$email = filter_var($_POST["email"], FILTER_SANITIZE_EMAIL);

?>

Questo rimuove caratteri non validi da una email.


Sanitizzare una stringa

<?php

$nome = filter_var($_POST["nome"], FILTER_SANITIZE_STRING);

?>

📌 Esempio Completo

<?php

if(isset($_POST["nome"])){

    $nome = trim($_POST["nome"]);
    $nome = strip_tags($nome);
    $nome = htmlspecialchars($nome);

    echo "Nome inserito: " . $nome;

}

?>

Questo esempio:

1️⃣ rimuove gli spazi
2️⃣ elimina i tag HTML
3️⃣ protegge il codice speciale


🛡️ Perché la Sanitizzazione è Importante

La sanitizzazione aiuta a prevenire diversi problemi di sicurezza come:

Per questo motivo è sempre consigliato pulire i dati prima di usarli o salvarli nel database.


🎯 Riassunto

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

📚 Conclusione

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.