Fonctions Filter XLI. Fonctions Filter
Cette extension permet de valider et de filtrer les données venant
habituellement de sources non sécurisées comme les entrées utilisateurs.
Avertissement Ce module est
EXPERIMENTAL . Cela signifie que le comportement de ces
fonctions, leurs noms et concrètement, TOUT ce qui est documenté ici peut
changer dans un futur proche, SANS PREAVIS! Soyez-en conscient, et utilisez
ce module à vos risques et périls.
Les filtres suivants existent actuellement, mais vous devriez lire la
section sur les constantes de filtres
pour plus d'informations sur le comportement de chaque constante :
Tableau 1. Filtres existants
ID Nom Options Flags Description FILTER_VALIDATE_INT "int"
min_range ,
max_range
FILTER_FLAG_ALLOW_OCTAL ,
FILTER_FLAG_ALLOW_HEX
Valide une valeur en tant qu'entier, optionnellement avec un intervalle spécifique. FILTER_VALIDATE_BOOLEAN "boolean"
Retourne TRUE pour "1", "true", "on" et "yes",
FALSE pour "0", "false", "off", "no", et "",
NULL sinon.
FILTER_VALIDATE_FLOAT "float" Valide une valeur en tant que nombre flottant. FILTER_VALIDATE_REGEXP "validate_regexp"
regexp
Valide une valeur en tant qu'une regexp ,
une expression régulière compatible
PERL .
FILTER_VALIDATE_URL "validate_url"
FILTER_FLAG_SCHEME_REQUIRED ,
FILTER_FLAG_HOST_REQUIRED ,
FILTER_FLAG_PATH_REQUIRED ,
FILTER_FLAG_QUERY_REQUIRED
Valide une valeur en tant qu'URL, optionnellement avec un composant requis. FILTER_VALIDATE_EMAIL "validate_email" Valide une valeur en tant qu'e-mail. FILTER_VALIDATE_IP "validate_ip"
FILTER_FLAG_IPV4 ,
FILTER_FLAG_IPV6 ,
FILTER_FLAG_NO_PRIV_RANGE ,
FILTER_FLAG_NO_RES_RANGE
Valide une valeur en tant qu'une adresse IP, optionnellement, uniquement IPv4 ou IPv6 ou pas,
depuis un intervalle privé ou réservé.
FILTER_SANITIZE_STRING "string"
FILTER_FLAG_NO_ENCODE_QUOTES ,
FILTER_FLAG_STRIP_LOW ,
FILTER_FLAG_STRIP_HIGH ,
FILTER_FLAG_ENCODE_LOW ,
FILTER_FLAG_ENCODE_HIGH ,
FILTER_FLAG_ENCODE_AMP
Efface les balises, optionnellement, efface ou encode les caractères spéciaux. FILTER_SANITIZE_STRIPPED "stripped" Alias du filtre "string". FILTER_SANITIZE_ENCODED "encoded"
FILTER_FLAG_STRIP_LOW ,
FILTER_FLAG_STRIP_HIGH ,
FILTER_FLAG_ENCODE_LOW ,
FILTER_FLAG_ENCODE_HIGH
Chaîne encodée pour les URL, optionnellement, efface ou encode les caractères
spéciaux. FILTER_SANITIZE_SPECIAL_CHARS "special_chars"
FILTER_FLAG_STRIP_LOW ,
FILTER_FLAG_STRIP_HIGH ,
FILTER_FLAG_ENCODE_HIGH
Échappement HTML des caractères '"<>&
et des caractères dont la valeur ASCII est inférieure à 32, optionnellement, efface
ou encode les autres caractères spéciaux.
FILTER_UNSAFE_RAW "unsafe_raw"
FILTER_FLAG_STRIP_LOW ,
FILTER_FLAG_STRIP_HIGH ,
FILTER_FLAG_ENCODE_LOW ,
FILTER_FLAG_ENCODE_HIGH ,
FILTER_FLAG_ENCODE_AMP
Ne fait rien, optionnellement, efface ou encode les caractères spéciaux. FILTER_SANITIZE_EMAIL "email"
Efface tous les caractères exceptés les lettres, les nombres ainsi que
!#$%&'*+-/=?^_`{|}~@.[] .
FILTER_SANITIZE_URL "url"
Efface tous les caractères exceptés les lettres, les nombres ainsi que
$-_.+!*'(),{}|\\^~[]`<>#%";/?:@&= .
FILTER_SANITIZE_NUMBER_INT "number_int"
Efface tous les caractères exceptés les nombres ainsi que
+- .
FILTER_SANITIZE_NUMBER_FLOAT "number_float"
FILTER_FLAG_ALLOW_FRACTION ,
FILTER_FLAG_ALLOW_THOUSAND ,
FILTER_FLAG_ALLOW_SCIENTIFIC
Efface tous les caractères exceptés les nombres, +- et,
optionnellement, .,eE .
FILTER_SANITIZE_MAGIC_QUOTES "magic_quotes" Applique la fonction addslashes() . FILTER_CALLBACK "callback" callback function or methodAppel une fonction utilisateur pour filtrer les données.
Ces fonctions sont disponibles dans le module PHP
standard, qui est toujours accessible.
Une note d'installation courte : Exécutez juste la commande suivant :
dans votre console.
Le comportement de ces fonctions est
affecté par la configuration dans le fichier php.ini .
Tableau 2. Options de cnfiguration pour Filter
Nom Défaut Modifiable Changelog filter.default unsafe_raw PHP_INI_PERDIR filter.default_flags PHP_INI_PERDIR
Pour plus de détails sur les constantes PHP_INI_*,
reportez-vous Ã
Annexe G .
Voici un éclaircissement sur
l'utilisation des directives de configuration.
filter.default
string
Filtre toutes les données transmises via $_GET, $_POST, $_COOKIE and $_REQUEST
avec ce filtre. Les données originales peut être accédées via la fonction
input_get() .
filter.default_flags
integer
Drapeau par défaut pour la fonction filter_data() .
Cette extension ne définit aucune ressource.
Ces constantes sont définies par cette
extension, et ne sont disponibles que si cette extension a été compilée avec
PHP, ou bien chargée au moment de l'exécution.
INPUT_POST
(entier )
variables POST .
INPUT_GET
(entier )
variables GET .
INPUT_COOKIE
(entier )
variables COOKIE .
INPUT_ENV
(entier )
variables ENV .
INPUT_SERVER
(entier )
variables SERVER .
INPUT_SESSION
(entier )
variables SESSION .
INPUT_DATA
(entier )
Variables définies par l'utilisateur.
FILTER_FLAG_NONE
(entier )
Aucun drappeau.
FILTER_VALIDATE_INT
(entier )
ID du filtre "int".
FILTER_VALIDATE_BOOLEAN
(entier )
ID du filtre "boolean".
FILTER_VALIDATE_FLOAT
(entier )
ID du filtre "float".
FILTER_VALIDATE_REGEXP
(entier )
ID du filtre "validate_regexp".
FILTER_VALIDATE_URL
(entier )
ID du filtre "validate_url".
FILTER_VALIDATE_EMAIL
(entier )
ID du filtre "validate_email".
FILTER_VALIDATE_IP
(entier )
ID du filtre "validate_ip".
FILTER_DEFAULT
(entier )
ID du filtre par défaut ("string").
FILTER_UNSAFE_RAW
(entier )
ID du filtre "unsafe_raw".
FILTER_SANITIZE_STRING
(entier )
ID du filtre "string".
FILTER_SANITIZE_STRIPPED
(entier )
ID du filtre "stripped".
FILTER_SANITIZE_ENCODED
(entier )
ID du filtre "encoded".
FILTER_SANITIZE_SPECIAL_CHARS
(entier )
ID du filtre "special_chars".
FILTER_SANITIZE_EMAIL
(entier )
ID du filtre "email".
FILTER_SANITIZE_URL
(entier )
ID du filtre "url".
FILTER_SANITIZE_NUMBER_INT
(entier )
ID du filtre "number_int".
FILTER_SANITIZE_NUMBER_FLOAT
(entier )
ID du filtre "number_float".
FILTER_SANITIZE_MAGIC_QUOTES
(entier )
ID du filtre "magic_quotes".
FILTER_CALLBACK
(entier )
ID du filtre "callback".
FILTER_FLAG_SCALAR
(entier )
Autorise des types scalaires (pas tableau) seulement dans le filtre.
Utilisé présentement par input_get_args() .
FILTER_FLAG_ARRAY
(entier )
Autorise seulement les types tableaux dans le filtre.
Utilisé présentement par input_get_args() .
FILTER_FLAG_ALLOW_OCTAL
(entier )
Alloue une notation octale (0[0-7]+ ) dans le filtre "int".
FILTER_FLAG_ALLOW_HEX
(entier )
Aloue une notation hexadécimale (0x[0-9a-fA-F]+ ) dans le filtre "int".
FILTER_FLAG_STRIP_LOW
(entier )
Supprime les caractères dont les valeurs ASCII sont inférieures à 32.
FILTER_FLAG_STRIP_HIGH
(entier )
Supprime les caractères dont les valeurs ASCII sont supérieures à 127.
FILTER_FLAG_ENCODE_LOW
(entier )
Encode les caractères dont les valeurs ASCII sont inférieures à 32.
FILTER_FLAG_ENCODE_HIGH
(entier )
Encode les caractères dont les valeurs ASCII sont supérieures à 127.
FILTER_FLAG_ENCODE_AMP
(entier )
Encode & .
FILTER_FLAG_NO_ENCODE_QUOTES
(entier )
N'encode pas ' , ni " .
FILTER_FLAG_EMPTY_STRING_NULL
(entier )
(Non utilisé actuellement.)
FILTER_FLAG_ALLOW_FRACTION
(entier )
Alloue une partie fractionnelle dans le filtre "number_float".
FILTER_FLAG_ALLOW_THOUSAND
(entier )
Alloue le séparateur des milliers (, ) dans le filtre "number_float".
FILTER_FLAG_ALLOW_SCIENTIFIC
(entier )
Alloue une notation scientifique (e , E ) dans
le filtre "number_float".
FILTER_FLAG_SCHEME_REQUIRED
(entier )
Schéma requis dans le filtre "validate_url".
FILTER_FLAG_HOST_REQUIRED
(entier )
Hôte requis dans le filtre "validate_url".
FILTER_FLAG_PATH_REQUIRED
(entier )
Chemin requis dans le filtre "validate_url".
FILTER_FLAG_QUERY_REQUIRED
(entier )
Requête requise dans le filtre "validate_url".
FILTER_FLAG_IPV4
(entier )
N'autorise que les adresses IPv4 dans le filtre "validate_ip".
FILTER_FLAG_IPV6
(entier )
N'autorise que les adresses IPv6 dans le filtre "validate_ip".
FILTER_FLAG_NO_RES_RANGE
(entier )
N'autorise pas les adresses réservées dans le filtre "validate_ip".
FILTER_FLAG_NO_PRIV_RANGE
(entier )
N'autorise pas les adresses privées dans le filtre "validate_ip".
Table des matières filter_data -- Filtre les données avec un filtre spécifiqueinput_filters_list -- Retourne une liste de tous les filtres supportésinput_get_args -- Récupère plusieurs variables depuis l'extérieur de PHP et, optionnellement, les filtresinput_get -- Récupère une variable d'en dehors de PHP et optionnellement, la filtreinput_has_variable -- Vérifie si une variable d'un type spécifique existeinput_name_to_filter -- Retourne l'identifiant du filtre par rapport à son nom
Manuel PHP pour PHP-Nuke © www.stefvar.com