HttpRequestValidationException HttpRequestValidationException HttpRequestValidationException HttpRequestValidationException Class

Definizione

Eccezione generata quando il client riceve una stringa di input potenzialmente pericolosa come parte dei dati della richiesta.The exception that is thrown when a potentially malicious input string is received from the client as part of the request data. Questa classe non può essere ereditata.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
Ereditarietà
Attributi

Esempi

Esempio di codice seguente viene illustrato come verificare l'input utente dannosi utilizzando un HttpRequestValidationException.The following code example demonstrates how to check for malicious user input by using an HttpRequestValidationException.

Importante

L'esempio include una casella di testo che accetta l'input dell'utente e rappresenta quindi una potenziale minaccia alla sicurezza.This example has a text box that accepts user input, which is a potential security threat. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite 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>

Commenti

Applicazione di un vincolo e convalida dell'input utente è essenziale in un'applicazione Web per impedire attacchi pirata informatico che si basano su stringhe di input dannose.Constraining and validating user input is essential in a Web application to prevent hacker attacks that rely on malicious input strings. Gli attacchi di scripting intersito costituiscono un esempio di questo tipo HACK.Cross-site scripting attacks are one example of such hacks. Altri tipi di dati indesiderati o dannosi possono essere passate in una richiesta di varie forme di input.Other types of malicious or undesired data can be passed in a request through various forms of input. Limitando i tipi di dati che viene passati a un livello basso di un'applicazione, è possibile impedire gli eventi indesiderati, anche quando i programmatori che utilizzano il codice non inserire le tecniche di convalida appropriata nella posizione.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.

Convalida delle richieste rileva potenzialmente pericolosi nell'input e genera questa eccezione per interrompere l'elaborazione della richiesta.Request validation detects potentially malicious client input and throws this exception to abort processing of the request. Un'interruzione della richiesta può indicare un tentativo di compromettere la sicurezza dell'applicazione, ad esempio un attacco di scripting intersito.A request abort can indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. È consigliabile che l'applicazione verificare in modo esplicito tutti gli input relative alle interruzioni di richiesta.It is strongly recommended that your application explicitly check all input regarding request aborts. Tuttavia, è possibile disabilitare la convalida della richiesta impostando il validateRequest attributo nella direttiva false, come illustrato nell'esempio seguente: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" %>

Per disabilitare la convalida della richiesta per l'applicazione, è necessario modificare o creare un file Web. config per l'applicazione e impostare il validateRequest attributo del pages sezione false, come illustrato nell'esempio seguente: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>   

Per disabilitare la convalida delle richieste per tutte le applicazioni nel server, è possibile apportare questa modifica nel file Machine. config.To disable request validation for all applications on your server, you can make this modification to the Machine.config file.

Nota

È consigliabile che l'applicazione verificare in modo esplicito tutti gli input Usa oltre alla convalida delle richieste eseguita da 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 funzionalità di convalida della richiesta non può intercettare tutti gli attacchi, in particolare quelli progettati appositamente in modo specifico per la logica dell'applicazione.The request validation feature cannot catch all attacks, especially those crafted specifically against your application logic.

Costruttori

HttpRequestValidationException() HttpRequestValidationException() HttpRequestValidationException() HttpRequestValidationException()

Crea una nuova istanza della classe HttpRequestValidationException.Creates a new instance of the HttpRequestValidationException class.

HttpRequestValidationException(String) HttpRequestValidationException(String) HttpRequestValidationException(String) HttpRequestValidationException(String)

Crea una nuova eccezione HttpRequestValidationException con il messaggio di errore specificato.Creates a new HttpRequestValidationException exception with the specified error message.

HttpRequestValidationException(String, Exception) HttpRequestValidationException(String, Exception) HttpRequestValidationException(String, Exception) HttpRequestValidationException(String, Exception)

Consente di inizializzare una nuova istanza della classe HttpRequestValidationException con il messaggio di errore specificato e un riferimento all'eccezione interna che ha generato l'eccezione.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.

Proprietà

Data Data Data Data

Ottiene una raccolta di coppie chiave-valore che fornisce informazioni aggiuntive definite dall'utente relative all'eccezione.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
ErrorCode ErrorCode ErrorCode ErrorCode

Ottiene l'oggetto HRESULT dell'errore.Gets the HRESULT of the error.

(Inherited from ExternalException)
HelpLink HelpLink HelpLink HelpLink

Ottiene o imposta un collegamento al file della Guida associato all'eccezione.Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult HResult HResult HResult

Ottiene o imposta HRESULT, un valore numerico codificato che viene assegnato a un'eccezione specifica.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException InnerException InnerException InnerException

Ottiene l'istanza di Exception che ha causato l'eccezione corrente.Gets the Exception instance that caused the current exception.

(Inherited from Exception)
Message Message Message Message

Ottiene un messaggio che descrive l'eccezione corrente.Gets a message that describes the current exception.

(Inherited from Exception)
Source Source Source Source

Ottiene o imposta il nome dell'oggetto o dell'applicazione che ha generato l'errore.Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

Ottiene una rappresentazione di stringa dei frame immediati nello stack di chiamate.Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
TargetSite TargetSite TargetSite TargetSite

Ottiene il metodo che genera l'eccezione corrente.Gets the method that throws the current exception.

(Inherited from Exception)
WebEventCode WebEventCode WebEventCode WebEventCode

Ottiene i codici di evento associati all'eccezione HTTP.Gets the event codes that are associated with the HTTP exception.

(Inherited from HttpException)

Metodi

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetBaseException() GetBaseException() GetBaseException() GetBaseException()

Se utilizzato come metodo di override in una classe derivata, restituisce l'Exception che è la causa radice di una o più eccezioni successive.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Inherited from Exception)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetHtmlErrorMessage() GetHtmlErrorMessage() GetHtmlErrorMessage() GetHtmlErrorMessage()

Ottiene il messaggio di errore HTML da restituire al client.Gets the HTML error message to return to the client.

(Inherited from HttpException)
GetHttpCode() GetHttpCode() GetHttpCode() GetHttpCode()

Ottiene il codice di stato della risposta HTTP da restituire al client.Gets the HTTP response status code to return to the client.

(Inherited from HttpException)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Ottiene informazioni sull'eccezione e le aggiunge all'oggetto SerializationInfo.Gets information about the exception and adds it to the SerializationInfo object.

(Inherited from HttpException)
GetType() GetType() GetType() GetType()

Ottiene il tipo di runtime dell'istanza corrente.Gets the runtime type of the current instance.

(Inherited from Exception)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Restituisce una stringa contenente il valore HRESULT dell'errore.Returns a string that contains the HRESULT of the error.

(Inherited from ExternalException)

Eventi

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

Si verifica quando un'eccezione viene serializzata per creare un oggetto di stato eccezione contenente i dati serializzati relativi all'eccezione.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

Si applica a