PHP Fonctions de Filtre


Introduction aux Filtres PHP

Les filtres PHP sont utilisés pour valider et filtrer les données provenant de sources non sécurisées, telles que les entrées utilisateur.


Installation

À partir de PHP 5.2.0, les fonctions de filtre sont activées par défaut. Aucune installation n'est nécessaire pour utiliser ces fonctions.


Configurations d'exécution

Le comportement de ces fonctions est influencé par les paramètres dans php.ini :

Nom Description Par défaut Modifiable
filter.default Filtrer toutes les données $_GET, $_POST, $_COOKIE, $_REQUEST et $_SERVER avec ce filtre. Accepte le nom du filtre que vous souhaitez utiliser par défaut. Consultez la liste des filtres pour voir les noms de filtres disponibles. "unsafe_raw" PHP_INI_PERDIR
filter.default_flags Drapeaux par défaut à appliquer lorsque le filtre par défaut est défini. Ceci est réglé sur FILTER_FLAG_NO_ENCODE_QUOTES par défaut pour des raisons de compatibilité ascendante. NULL PHP_INI_PERDIR

Fonctions de Filtre PHP

Fonction Description
filter_has_var() Vérifie si une variable d'un type d'entrée spécifié existe.
filter_id() Renvoie l'ID du filtre correspondant à un nom de filtre spécifié.
filter_input() Obtient une variable externe (par exemple, à partir d'une entrée de formulaire) et la filtre éventuellement.
filter_input_array() Obtient des variables externes (par exemple, à partir d'une entrée de formulaire) et les filtre éventuellement.
filter_list() Renvoie une liste de tous les noms de filtres pris en charge.
filter_var() Filtre une variable avec un filtre spécifié.
filter_var_array() Obtient plusieurs variables et les filtre.


Constantes de Filtre Prédéfinies PHP

Constante Description
INPUT_POST Variables POST.
INPUT_GET Variables GET.
INPUT_COOKIE Variables COOKIE.
INPUT_ENV Variables ENV.
INPUT_SERVER Variables SERVER.
FILTER_DEFAULT Ne rien faire, éventuellement supprimer ou encoder des caractères spéciaux. Équivalent à FILTER_UNSAFE_RAW.
FILTER_FLAG_NONE N'autorise aucun drapeau.
FILTER_FLAG_ALLOW_OCTAL Uniquement pour les entrées qui commencent par un zéro (0) en tant que nombres octaux. Cela n'autorise que les chiffres suivants à être compris entre 0 et 7.
FILTER_FLAG_ALLOW_HEX Uniquement pour les entrées qui commencent par 0x/0X en tant que nombres hexadécimaux. Cela n'autorise que les caractères suivants à être a-fA-F0-9.
FILTER_FLAG_STRIP_LOW Supprime les caractères avec une valeur ASCII inférieure à 32.
FILTER_FLAG_STRIP_HIGH Supprime les caractères avec une valeur ASCII supérieure à 127.
FILTER_FLAG_ENCODE_LOW Encode les caractères avec une valeur ASCII inférieure à 32.
FILTER_FLAG_ENCODE_HIGH Encode les caractères avec une valeur ASCII supérieure à 127.
FILTER_FLAG_ENCODE_AMP Encode &.
FILTER_FLAG_NO_ENCODE_QUOTES Ne pas encoder ' et ".
FILTER_FLAG_EMPTY_STRING_NULL Non utilisé.
FILTER_FLAG_ALLOW_FRACTION Autorise un point (.) comme séparateur fractionnaire dans les nombres.
FILTER_FLAG_ALLOW_THOUSAND Autorise une virgule (,) comme séparateur de milliers dans les nombres.
FILTER_FLAG_ALLOW_SCIENTIFIC Autorise un e ou E pour la notation scientifique dans les nombres.
FILTER_FLAG_PATH_REQUIRED L'URL doit contenir une partie chemin.
FILTER_FLAG_QUERY_REQUIRED L'URL doit contenir une chaîne de requête.
FILTER_FLAG_IPV4 Autorise l'adresse IP à être au format IPv4.
FILTER_FLAG_IPV6 Autorise l'adresse IP à être au format IPv6.
FILTER_FLAG_NO_RES_RANGE Échoue la validation pour les plages IPv4 réservées : 0.0.0.0/8, 169.254.0.0/16, 127.0.0.0/8 et 240.0.0.0/4, ainsi que pour les plages IPv6 réservées : ::1/128, ::/128, ::ffff:0:0/96 et fe80::/10.
FILTER_FLAG_NO_PRIV_RANGE Échoue la validation pour les plages IPv4 privées : 10.0.0.0/8, 172.16.0.0/12 et 192.168.0.0/16, ainsi que pour les adresses IPv6 commençant par FD ou FC.
FILTER_FLAG_EMAIL_UNICODE Autorise la partie locale de l'adresse e-mail à contenir des caractères Unicode.
FILTER_REQUIRE_SCALAR La valeur doit être un scalaire.
FILTER_REQUIRE_ARRAY La valeur doit être un tableau.
FILTER_FORCE_ARRAY Traite une valeur scalaire comme un tableau avec la valeur scalaire comme seul élément.
FILTER_NULL_ON_FAILURE Renvoie NULL en cas d'échec pour des valeurs booléennes non reconnues.
FILTER_VALIDATE_BOOLEAN Valide un booléen.
FILTER_VALIDATE_EMAIL Valide la valeur comme une adresse e-mail valide.
FILTER_VALIDATE_FLOAT Valide la valeur comme un float.
FILTER_VALIDATE_INT Valide la valeur comme un entier.
FILTER_VALIDATE_IP Valide la valeur comme une adresse IP.
FILTER_VALIDATE_MAC Valide la valeur comme une adresse MAC.
FILTER_VALIDATE_REGEXP Valide la valeur par rapport à une expression régulière.
FILTER_VALIDATE_URL Valide la valeur comme une URL.
FILTER_SANITIZE_ADD_SLASHES Ajouté comme remplacement pour FILTER_SANITIZE_MAGIC_QUOTES.
FILTER_SANITIZE_EMAIL Supprime tous les caractères illégaux d'une adresse e-mail.
FILTER_SANITIZE_ENCODED Supprime ou encode des caractères spéciaux.
FILTER_SANITIZE_MAGIC_QUOTES Applique addslashes(). Obsolète dans PHP 7.3.0 et supprimé dans PHP 8.0.0
FILTER_SANITIZE_NUMBER_FLOAT Supprime tous les caractères, sauf les chiffres, les signes +- et éventuellement .,eE.
FILTER_SANITIZE_NUMBER_INT Supprime tous les caractères sauf les chiffres et les signes + -.
FILTER_SANITIZE_SPECIAL_CHARS Supprime les caractères spéciaux.
FILTER_SANITIZE_STRING Supprime les balises et les caractères spéciaux d'une chaîne. Obsolète dans PHP 8.1.0
FILTER_SANITIZE_STRIPPED Alias de FILTER_SANITIZE_STRING. Obsolète dans PHP 8.1.0
FILTER_SANITIZE_URL Supprime tous les caractères illégaux d'une URL.
FILTER_UNSAFE_RAW Ne rien faire, éventuellement supprimer ou encoder des caractères spéciaux.
FILTER_CALLBACK Appelle une fonction définie par l'utilisateur pour filtrer les données.