HttpRequestValidationException kezelése

Az ASP.NET 1.1 megjelenése óta sokan belefutottak már az alábbi hibaüzenetbe, amikor query string paraméterbe vagy űrlap mezőbe HTML karakterek kerültek:

A potentially dangerous Request.QueryString value was detected from the client (k="<br />").

Azt le se írom, hogyan lehet ezt az ellenőrzést kikapcsolni, hiszen biztonsági okokból van ott (meg aztán amúgy is szerepel az oldalon a Descriptionben), inkább íme egy global.asaxos megoldás, amivel barátságos hibaüzenetet jeleníthetünk meg egy másik oldalon, akármelyik oldalon is keletkezik a hiba:

  private void Application_Error( object sender, EventArgs e )
  {
    Exception ex = this.Server.GetLastError();

    if( ex is HttpRequestValidationException )
    {
        this.Response.Redirect( "~/Error/RequestValidationError.aspx", true );
    }
  }

Meg lehet próbálni ugyanezt egy-egy oldalon lokálisan a Page_Error metódusban implementálni, de a tapasztalat azt mutatja, hogy ez nem mindig vezet sikerre.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s