Aller au contenu

filter_input()

Introduction

PHP est un langage de script côté serveur populaire qui offre une gamme de fonctions intégrées pour traiter les entrées utilisateur. L'une de ces fonctions est filter_input(), utilisée pour filtrer et assainir les données d'entrée utilisateur. Dans cet article, nous vous fournirons un guide détaillé sur l'utilisation de filter_input() en PHP, sa syntaxe et ses avantages.

Syntaxe

La syntaxe de filter_input() est la suivante :

Syntaxe PHP de filter_input()

php
filter_input ( int $type , string $variable_name [, int $filter = FILTER_DEFAULT [, mixed $options ]] ) : mixed

La fonction prend deux paramètres obligatoires : $type (par exemple INPUT_GET ou INPUT_POST) et $variable_name. Le paramètre $filter est optionnel et vaut par défaut FILTER_DEFAULT. Un quatrième paramètre optionnel, $options, peut être utilisé pour spécifier des options de filtre supplémentaires. La fonction renvoie les données d'entrée filtrées en cas de succès, null si la variable d'entrée n'est pas définie, ou false en cas d'échec.

Utilisation

La fonction filter_input() est utilisée pour filtrer et assainir les données d'entrée utilisateur avant qu'elles ne soient utilisées dans votre application. Par exemple, le code suivant utilise filter_input() pour assainir les données d'entrée d'un formulaire :

Exemple de PHP filter_input()

php
<?php

$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
if ($name === null) {
    // Handle missing input
    $name = '';
}

Dans cet exemple, le code utilise filter_input() avec la constante INPUT_POST pour récupérer la valeur du champ 'name' d'un formulaire soumis via POST. Le filtre FILTER_SANITIZE_FULL_SPECIAL_CHARS est utilisé pour échapper les caractères spéciaux. Notez que FILTER_SANITIZE_STRING a été supprimé dans PHP 8.0, il est donc recommandé d'utiliser FILTER_SANITIZE_FULL_SPECIAL_CHARS ou FILTER_SANITIZE_SPECIAL_CHARS à la place.

Pour des fins de validation, vous pouvez utiliser des filtres tels que FILTER_VALIDATE_EMAIL ou FILTER_VALIDATE_INT. Ceux-ci renvoient les données validées en cas de succès, ou false si l'entrée ne correspond pas au format attendu.

Avantages

L'utilisation de filter_input() peut aider à améliorer la sécurité et la fiabilité de votre application PHP en filtrant et en assainissant les données d'entrée utilisateur. En validant les données d'entrée avant de les traiter, vous pouvez vous assurer que votre application n'accepte que des données valides et éviter les failles de sécurité potentielles.

De plus, l'utilisation de fonctions de filtrage peut aider à améliorer la qualité globale de votre code en le rendant plus lisible et plus facile à maintenir. En séparant la logique de validation de la logique de traitement, vous pouvez rendre votre code plus modulaire et plus facile à déboguer.

Conclusion

En conclusion, la fonction filter_input() est un outil utile pour filtrer et assainir les données d'entrée utilisateur dans les applications PHP. En l'utilisant conjointement avec d'autres fonctions de filtrage, vous pouvez améliorer la sécurité et la qualité de votre code, tout en le rendant plus facile à lire et à maintenir.

Pratique

Which of the following PHP functions are used to sanitize and validate forms?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.