Comment "nettoyer" les données utilisateur en PHP
Publié le 21 Avril 2010
Pour faire suite à l'article précédent sur les filtres PHP nous allons voir comment utiliser ces filtres pour "nettoyer" les saisies de l'utilisateur (ou toute autre donnée).
Nous allons donc toujours utiliser la fonction filter_var mais cette fois-ci non plus avec des filtres "VALIDATE" mais avec des filtres "SANITIZE".
Ansi le code suivant supprimera les balises HTML et affichera donc uniquement "Bonjour les amis" (sans les balises <p>)
<?php
$variable = "<p>Bonjour les amis</p>";
echo filter_var($variable , FILTER_SANITIZE_STRING);
php?>
On peut également choisir de ne pas supprimer les balises mais de les encodées en appliquant le filtre FILTER_SANITIZE_SPECIAL_CHARS qui donnera le résultat suivant:
<p>Bonjour les amis</p>
Voilà il existe toute une série de filtre pour nettoyer différents types de données tels que:
FILTER_SANITIZE_EMAIL | |
URL | FILTER_SANITIZE_URL |
Nombre entier | FILTER_SANITIZE_NUMBER_INT |
Nombre décimal | FILTER_SANITIZE_NUMBER_FLOAT |