Présentation de la validation de données

L'application fournit la fonction de validation de données pour valider et assainir des entrées et sorties de requête.

Vous pouvez utiliser la fonction de validation de données pour autoriser uniquement les caractères explicitement définis dans les requêtes d'entrée et sortie, et déplacer toutes les autres données. Vous pouvez définir vos propres règles de validation pour valider différents paramètres de requête. Vous pouvez également encoder des données avant de les renvoyer à l'interface utilisateur (UI).

La validation de données ou leur expurgation peut être effectuée pour différents types d'entrées comme un nom de paramètre, une valeur de paramètre, un nom de cookie, une valeur de cookie. L'application prend également en charge la validation basée sur des expressions régulières.

Valideur d'entrée

Le valideur d'entrée recherche toutes les règles de validation qui sont enregistrées pour une entrée particulière, et exécute la validation. Le valideur est appelé par un encapsuleur de requête pour valider des entrées de requête.

Par défaut, pour valider des entrées de requête (telles que la valeur de paramètre, le nom du paramètre), le valideur d'entrée utilise les expressions régulières fournies par l'application. Les expressions régulières fournies par l'application sont définies dans le fichier regularexpressions/sc_regularexpressions.xml (situé dans <runtime_sandbox>/jar/platform_afc/5_7/platform_dv.jar).

Remarque: Si vous souhaitez assouplir certaines règles de validation pour certaines entrées, vous devez enregistrer toutes les règles de validation personnalisées avec le valideur d'entrée.

Règle de validation

Une règle de validation effectue la validation et l'expurgation de l'entrée. Une règle de validation contient une propriété à titre d'identificateur d'entrée pour laquelle la validation doit s'opérer. Une validation est appelée toutes les fois qu'un accès est effectué sur la demande d'entrée correspondante. Une règle de validation doit spécifier le nom de l'entrée qu'elle a à valider. Par exemple, pour valider la valeur d'un paramètre, la règle de validation doit indiquer le nom de ce paramètre particulier. Il peut exister plusieurs entrées de même nom. Toutes les règles de validation doivent être enregistrées avec le valideur d'entrée (Input Validator) pour permettre la validation de l'entrée correspondante.

Certaines règles de validation sont fournies par l'application. Les règles de validation fournies par l'application sont définies dans le fichier validationrules/sc_validationrules.xml (situé dans <runtime_sandbox>/jar/platform_afc/5_7/platform_dv.jar). Ces règles de validation sont démarrées pour toutes les entrées appartenant à la même catégorie. Par exemple, tous les noms d'en-tête HTTP sont validés selon l'expression régulière HTTPHeaderName.

Remarque: aucune règle de validation n'est définie pour une entrée. Les règles de validation indiquées auparavant sont utilisées pour valider l'entrée.
Vous pouvez définir les types de règles de validation suivants :
  • Règle de validation basée sur une expression régulière — Ce type de règle de validation est conçu pour effectuer des validations basées sur des expressions régulières. Ce type de règle de validation prend en charge plusieurs expressions régulières de liste autorisée et de liste rouge.
  • Règle de validation basée sur Java — Ce type de règle de validation est conçu pour effectuer sur les entrées des actions de validation et d'expurgation basées sur Java. Ce type de règle de validation valide une entrée, puis appelle la méthode de classe d'implémentation getValidInput().