Lire en anglais

Partager via


RequestValidationSource Énumération

Définition

Spécifie le genre de données de requête HTTP à valider.

C#
public enum RequestValidationSource
Héritage
RequestValidationSource

Champs

Cookies 2

Cookies de requête.

Files 3

Fichier téléchargé.

Form 1

Valeurs de formulaire.

Headers 7

En-têtes de la requête.

Path 5

Chemin d'accès virtuel.

PathInfo 6

Chaîne HTTP PathInfo qui est une extension d'un chemin d'accès d'URL.

QueryString 0

Chaîne de requête.

RawUrl 4

URL brute. (Partie d'une URL figurant après le domaine.)

Exemples

L’exemple suivant montre comment créer une classe de validateur de requête personnalisée qui autorise uniquement une chaîne spécifique pour les valeurs de chaîne de requête.

C#
using System;  
using System.Web;  
using System.Web.Util;  

public class CustomRequestValidation : RequestValidator  
{  
    public CustomRequestValidation() {}  

    protected override bool IsValidRequestString(  
        HttpContext context, string value,   
        RequestValidationSource requestValidationSource, string collectionKey,   
        out int validationFailureIndex)  
    {  
        //Set a default value for the out parameter.  
        validationFailureIndex = -1;  

        // This application does not use RawUrl directly,   
        // so you can ignore the check for RequestValidationSource.RawUrl.  
        if (requestValidationSource == RequestValidationSource.RawUrl)  
            return true;  

        // Allow the query-string key "data" to have an XML-like value.  
        if (  
            (requestValidationSource == RequestValidationSource.QueryString) &&  
            (collectionKey == "data")  
           )  
        {  
            // The querystring value "<example>1234</example>" is allowed.  
            if (value == "<example>1234</example>")  
            {  
                validationFailureIndex = -1;  
                return true;  
            }  
            else  
           // Leave any further checks to ASP.NET.  
                return base.IsValidRequestString(context, value,   
                requestValidationSource, collectionKey, out   
                validationFailureIndex);  
        }  
        // All other HTTP input checks fall back to   
        // the base ASP.NET implementation.  
        else  
        {  
            return base.IsValidRequestString(context, value,   
                requestValidationSource, collectionKey,   
                out validationFailureIndex);  
        }  
    }  
}  

l’exemple suivant montre comment configurer ASP.NET pour utiliser le validateur personnalisé.

<httpRuntime requestValidationType="CustomRequestValidation" />  

Remarques

Vous pouvez créer un type de validation de requête personnalisé en implémentant le RequestValidator type. lorsque ASP.NET appelle la IsValidRequestString méthode pour valider une demande, ASP.NET passe un requestValidationSource paramètre pour spécifier la source des données en cours de validation. L' RequestValidationSource énumération est utilisée pour spécifier la source ou le type de données de requête en cours de validation. L’énumération indique le type d’entrée HTTP qui est passé dans le value paramètre de la IsValidRequestString méthode. Vous pouvez utiliser l’énumération pour revenir à l’implémentation de validation des demandes de base pour les entrées HTTP si vous ne souhaitez pas valider à l’aide d’une logique personnalisée.

Le tableau suivant montre comment la valeur du collectionKey paramètre et value de la RequestValidator.IsValidRequestString méthode est interprétée pour chaque membre de l' RequestValidationSource énumération.

Membre de l’énumération Paramètre collectionKey Paramètre value
Cookies Nom du cookie dans la collection. Valeur dans la collection.
Files Nom du fichier téléchargé dans la collection. Valeur du fichier téléchargé dans la collection.
Form Nom du paramètre de formulaire dans la collection Valeur du paramètre de formulaire dans la collection.
Headers Nom d’un en-tête HTTP dans la collection. Valeur de l’en-tête HTTP dans la collection.
Path null ( Path n’est pas une collection de valeurs). Valeur du champ de chemin d’accès.
PathInfo null ( PathInfo n’est pas une collection de valeurs). Valeur du champ PathInfo.
QueryString Nom du paramètre de chaîne de requête dans la collection. Valeur du paramètre de chaîne de requête dans la collection.
RawUrl null ( RawUrl n’est pas une collection de valeurs.) Valeur du champ RawUrl.

S’applique à

Produit Versions
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8

Voir aussi