Cette extension permet de valider et de filtrer les données venant habituellement de sources non sécurisées comme les entrées utilisateurs.
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 93. 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" | function ou méthode de callback | Appel 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 simplement la commande suivant :
$ pecl install filterdans votre console.
Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
Tableau 94. Options de cnfiguration pour Filter
Nom | Défaut | Modifiable | Changelog |
---|---|---|---|
filter.default | unsafe_raw | PHP_INI_PERDIR | |
filter.default_flags | PHP_INI_PERDIR |
Voici un éclaircissement sur l'utilisation des directives de configuration.
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().
Accepte le nom du filtre que vous voulez utiliser par défaut. Voir la liste des filtres existante pour en connaître les noms.
Drapeau par défaut.
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.