XL. Fonctions Filter

Introduction

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 :

Tableau 1. Filtres existants

IDNomOptionsFlagsDescription
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.

Pré-requis

Ces fonctions sont disponibles dans le module PHP standard, qui est toujours accessible.

Installation

Une note d'installation courte : Exécutez juste la commande suivant :

$ pear install filter
dans votre console.

Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Tableau 2. Options de cnfiguration pour Filter

NomDéfautModifiableChangelog
filter.defaultunsafe_rawPHP_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().

Types de ressources

Cette extension ne définit aucune ressource.

Constantes pré-définies

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écifique
input_filters_list -- Retourne une liste de tous les filtres supportés
input_get_args -- Gets multiple variables from outside PHP and optionally filters them
input_get -- Récupère une variable d'en dehors de PHP et optionnellement, la filtre
input_has_variable -- Vérifie si une variable d'un type spécifique existe
input_name_to_filter -- Retourne l'identifiant du filtre par rapport à son nom


Rechercher une fonction PHP

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

5 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Références

  1. Consulter le document html Langue du document: fr Manuel PHP : http://be2.php.net, fonctions filter

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-3718
Document créé le 20/09/06 21:02, dernière modification le Vendredi 17 Juin 2011, 12:12
Source du document imprimé : http://www.gaudry.be/php-rf-ref.filter.html Document affiché 1 fois ce mois de Juin.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,27 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Un jour, Chuck Norris a perdu son alliance. Depuis c'est le bordel dans les terres du milieu...

Anonyme [Chuck Norris fact]
 
l'infobrol
Nous sommes le Dimanche 03 Juin 2012, 06:38, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)