HttpRequestValidationException Klass

Definition

Undantaget som utlöses när en potentiellt skadlig indatasträng tas emot från klienten som en del av begärandedata. Det går inte att ärva den här klassen.

public ref class HttpRequestValidationException sealed : System::Web::HttpException
public sealed class HttpRequestValidationException : System.Web.HttpException
[System.Serializable]
public sealed class HttpRequestValidationException : System.Web.HttpException
type HttpRequestValidationException = class
    inherit HttpException
[<System.Serializable>]
type HttpRequestValidationException = class
    inherit HttpException
Public NotInheritable Class HttpRequestValidationException
Inherits HttpException
Arv
Attribut

Exempel

Följande kodexempel visar hur du söker efter skadliga användarindata med hjälp av en HttpRequestValidationException.

Important

Det här exemplet har en textruta som accepterar användarindata, vilket är ett potentiellt säkerhetshot. Som standard kontrollerar ASP.NET webbsidor att användarindata inte innehåller skript- eller HTML-element. Mer information finns i Översikt över skriptexploateringar.

<%@ 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>

Kommentarer

Det är viktigt att begränsa och verifiera användarindata i ett webbprogram för att förhindra hackerattacker som förlitar sig på skadliga indatasträngar. Skriptattacker mellan webbplatser är ett exempel på sådana hack. Andra typer av skadliga eller oönskade data kan skickas i en begäran via olika former av indata. Genom att begränsa de typer av data som skickas på en låg nivå i ett program kan du förhindra oönskade händelser, även om programmerare som använder koden inte använder rätt valideringstekniker.

Verifiering av begäran identifierar potentiellt skadliga klientindata och utlöser det här undantaget för att avbryta bearbetningen av begäran. En begäran avbryts kan tyda på ett försök att äventyra säkerheten för ditt program, till exempel ett skriptangrepp mellan webbplatser. Vi rekommenderar starkt att programmet uttryckligen kontrollerar alla indata om begärande aborter. Du kan dock inaktivera validering av begäranden genom att ange validateRequest attributet i @ Page direktivet till false, som du ser i följande exempel:

<%@ Page validateRequest="false" %>

Om du vill inaktivera validering av validateRequest begäran för ditt program måste du ändra eller skapa en Web.config fil för ditt program och ange pages attributet för avsnittet till false, enligt följande exempel:

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

Om du vill inaktivera validering av begäranden för alla program på servern kan du göra den här ändringen i filen Machine.config.

Note

Vi rekommenderar starkt att programmet uttryckligen kontrollerar alla indata som används utöver den verifiering av begäran som utförs av ASP.NET. Valideringsfunktionen för begäran kan inte fånga alla attacker, särskilt de som utformats specifikt mot din programlogik.

Konstruktorer

Name Description
HttpRequestValidationException()

Skapar en ny instans av HttpRequestValidationException klassen.

HttpRequestValidationException(String, Exception)

Initierar en ny instans av HttpRequestValidationException klassen med ett angivet felmeddelande och en referens till det inre undantaget som är orsaken till undantaget.

HttpRequestValidationException(String)

Skapar ett nytt HttpRequestValidationException undantag med det angivna felmeddelandet.

Egenskaper

Name Description
Data

Hämtar en samling nyckel/värde-par som ger ytterligare användardefinierad information om undantaget.

(Ärvd från Exception)
ErrorCode

HRESULT Hämtar felet.

(Ärvd från ExternalException)
HelpLink

Hämtar eller anger en länk till hjälpfilen som är associerad med det här undantaget.

(Ärvd från Exception)
HResult

Hämtar eller anger HRESULT, ett kodat numeriskt värde som har tilldelats ett specifikt undantag.

(Ärvd från Exception)
InnerException

Hämtar den Exception instans som orsakade det aktuella undantaget.

(Ärvd från Exception)
Message

Hämtar ett meddelande som beskriver det aktuella undantaget.

(Ärvd från Exception)
Source

Hämtar eller anger namnet på programmet eller objektet som orsakar felet.

(Ärvd från Exception)
StackTrace

Hämtar en strängrepresentation av de omedelbara ramarna i anropsstacken.

(Ärvd från Exception)
TargetSite

Hämtar den metod som utlöser det aktuella undantaget.

(Ärvd från Exception)
WebEventCode

Hämtar de händelsekoder som är associerade med HTTP-undantaget.

(Ärvd från HttpException)

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetBaseException()

När den åsidosätts i en härledd klass returnerar den Exception som är rotorsaken till ett eller flera efterföljande undantag.

(Ärvd från Exception)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetHtmlErrorMessage()

Hämtar HTML-felmeddelandet för att återgå till klienten.

(Ärvd från HttpException)
GetHttpCode()

Hämtar http-svarsstatuskoden för att återgå till klienten.

(Ärvd från HttpException)
GetObjectData(SerializationInfo, StreamingContext)

Hämtar information om undantaget och lägger till det i SerializationInfo objektet.

(Ärvd från HttpException)
GetType()

Hämtar körningstypen för den aktuella instansen.

(Ärvd från Exception)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som innehåller HRESULT för felet.

(Ärvd från ExternalException)

Händelser

Name Description
SerializeObjectState
Föråldrad.

Inträffar när ett undantag serialiseras för att skapa ett undantagstillståndsobjekt som innehåller serialiserade data om undantaget.

(Ärvd från Exception)

Gäller för