HttpRequestValidationException Classe

Définition

L'exception levée lors de la réception d'une chaîne d'entrées potentiellement nuisible est envoyée par le client en tant que données de requête.The exception that is thrown when a potentially malicious input string is received from the client as part of the request data. Cette classe ne peut pas être héritée.This class cannot be inherited.

public ref class HttpRequestValidationException sealed : System::Web::HttpException
[System.Serializable]
public sealed class HttpRequestValidationException : System.Web.HttpException
type HttpRequestValidationException = class
    inherit HttpException
Public NotInheritable Class HttpRequestValidationException
Inherits HttpException
Héritage
Attributs

Exemples

L’exemple de code suivant montre comment vérifier les entrées d’utilisateur malveillants à HttpRequestValidationExceptionl’aide d’un.The following code example demonstrates how to check for malicious user input by using an HttpRequestValidationException.

Important

Cet exemple comprend une zone de texte qui accepte une entrée d'utilisateur, ce qui constitue une menace potentielle pour la sécurité.This example has a text box that accepts user input, which is a potential security threat. Par défaut, les pages web ASP.NET vérifient que l’entrée d’utilisateur n’inclut pas de script ou d’éléments HTML.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Pour plus d’informations, consultez Vue d’ensemble des attaques de script.For more information, see Script Exploits Overview.

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = txt1.Text;
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox id="txt1" Runat="server" />
        <asp:Button ID="Button1" Runat="server" Text="Button" OnClick="Button1_Click" />
        <br /><br />You entered: <asp:Label ID="Label1" Runat="server" Text="Label" />.
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Label1.Text = txt1.Text
    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox id="txt1" Runat="server" />
        <asp:Button ID="Button1" Runat="server" Text="Button" OnClick="Button1_Click" />
        <br /><br />You entered: <asp:Label ID="Label1" Runat="server" Text="Label" />.
    </div>
    </form>
</body>
</html>

Remarques

La limitation et la validation des entrées d’utilisateur sont essentielles dans une application Web pour empêcher les attaques de pirates qui reposent sur des chaînes d’entrée malveillantes.Constraining and validating user input is essential in a Web application to prevent hacker attacks that rely on malicious input strings. Les attaques de script entre sites sont un exemple de ce type de piratage.Cross-site scripting attacks are one example of such hacks. D’autres types de données malveillantes ou indésirables peuvent être passés dans une requête via différentes formes d’entrée.Other types of malicious or undesired data can be passed in a request through various forms of input. En limitant les types de données qui sont passées à un niveau bas dans une application, vous pouvez empêcher les événements indésirables, même lorsque les programmeurs qui utilisent votre code ne mettent pas en place les techniques de validation appropriées.By limiting the kinds of data that is passed at a low level in an application, you can prevent undesirable events, even when programmers who are using your code do not put the proper validation techniques in place.

La validation de la demande détecte l’entrée potentiellement malveillante du client et lève cette exception pour abandonner le traitement de la requête.Request validation detects potentially malicious client input and throws this exception to abort processing of the request. Une interruption de demande peut indiquer une tentative de compromettre la sécurité de votre application, telle qu’une attaque de script entre sites.A request abort can indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. Il est fortement recommandé que votre application vérifie explicitement toutes les entrées concernant les abandons de la demande.It is strongly recommended that your application explicitly check all input regarding request aborts. Toutefois, vous pouvez désactiver la validation de la demande validateRequest en affectant à falsel’attribut de la directive la valeur, comme illustré dans l’exemple suivant :However, you can disable request validation by setting the validateRequest attribute in the directive to false, as shown in the following example:

<%@ Page validateRequest="false" %>

Pour désactiver la validation de la demande pour votre application, vous devez modifier ou créer un fichier Web. config pour votre application validateRequest et affecter à pages falsel’attribut de la section la valeur, comme illustré dans l’exemple suivant :To disable request validation for your application, you must modify or create a Web.config file for your application and set the validateRequest attribute of the pages section to false, as shown in the following example:

<configuration>   
  <system.web>   
    <pages validateRequest="false" />   
  </system.web>   
</configuration>   

Pour désactiver la validation de la demande pour toutes les applications sur votre serveur, vous pouvez apporter cette modification au fichier machine. config.To disable request validation for all applications on your server, you can make this modification to the Machine.config file.

Notes

Il est fortement recommandé que votre application vérifie explicitement toutes les entrées qu’elle utilise en plus de la validation de la demande effectuée par ASP.NET.It is strongly recommended that your application explicitly check all inputs it uses in addition to the request validation performed by ASP.NET. La fonctionnalité de validation de la demande ne peut pas intercepter toutes les attaques, en particulier celles conçues spécifiquement pour votre logique d’application.The request validation feature cannot catch all attacks, especially those crafted specifically against your application logic.

Constructeurs

HttpRequestValidationException()

Crée une instance de la classe HttpRequestValidationException.Creates a new instance of the HttpRequestValidationException class.

HttpRequestValidationException(String)

Crée une exception HttpRequestValidationException avec le message d'erreur spécifié.Creates a new HttpRequestValidationException exception with the specified error message.

HttpRequestValidationException(String, Exception)

Initialise une nouvelle instance de la classe HttpRequestValidationException avec un message d'erreur spécifié et une référence à l'exception interne ayant provoqué l'exception.Initializes a new instance of the HttpRequestValidationException class with a specified error message and a reference to the inner exception that is the cause of the exception.

Propriétés

Data

Obtient une collection de paires clé/valeur qui fournissent des informations supplémentaires définies par l’utilisateur sur l’exception.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Hérité de Exception)
ErrorCode

Obtient le HRESULT de l’erreur.Gets the HRESULT of the error.

(Hérité de ExternalException)
HelpLink

Obtient ou définit un lien vers le fichier d'aide associé à cette exception.Gets or sets a link to the help file associated with this exception.

(Hérité de Exception)
HResult

Obtient ou définit HRESULT, valeur numérique codée qui est assignée à une exception spécifique.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Hérité de Exception)
InnerException

Obtient l'instance Exception qui a provoqué l'exception actuelle.Gets the Exception instance that caused the current exception.

(Hérité de Exception)
Message

Obtient un message qui décrit l'exception actuelle.Gets a message that describes the current exception.

(Hérité de Exception)
Source

Obtient ou définit le nom de l'application ou de l'objet qui est à l'origine de l'erreur.Gets or sets the name of the application or the object that causes the error.

(Hérité de Exception)
StackTrace

Obtient une représentation sous forme de chaîne des frames immédiats sur la pile des appels.Gets a string representation of the immediate frames on the call stack.

(Hérité de Exception)
TargetSite

Obtient la méthode qui lève l'exception actuelle.Gets the method that throws the current exception.

(Hérité de Exception)
WebEventCode

Obtient les codes d'événement associés à l'exception HTTP.Gets the event codes that are associated with the HTTP exception.

(Hérité de HttpException)

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetBaseException()

En cas de substitution dans une classe dérivée, retourne la Exception qui est à l'origine d'une ou de plusieurs exceptions ultérieures.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Hérité de Exception)
GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetHtmlErrorMessage()

Obtient le message d'erreur HTML à retourner au client.Gets the HTML error message to return to the client.

(Hérité de HttpException)
GetHttpCode()

Obtient le code d'état de réponse HTTP à retourner au client.Gets the HTTP response status code to return to the client.

(Hérité de HttpException)
GetObjectData(SerializationInfo, StreamingContext)

Obtient des informations sur l'exception et les ajoute à l'objet SerializationInfo.Gets information about the exception and adds it to the SerializationInfo object.

(Hérité de HttpException)
GetType()

Obtient le type au moment de l'exécution de l'instance actuelle.Gets the runtime type of the current instance.

(Hérité de Exception)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
ToString()

Retourne une chaîne qui contient le HRESULT de l'erreur.Returns a string that contains the HRESULT of the error.

(Hérité de ExternalException)

Événements

SerializeObjectState

Se produit quand une exception est sérialisée pour créer un objet d'état d'exception qui contient des données sérialisées concernant l'exception.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Hérité de Exception)

S’applique à