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.



Balássy György (MS RD, ASP.NET MVP, MCTS)

Balássy György (MS RD, ASP.NET MVP, MCTS) Villamosmérnök, a BME Automatizálási és Alkalmazott Informatikai Tanszékén webportálok fejlesztését oktatja. 2000 óta foglalkozik a Microsoft .NET platformjával, melynek meghonosításában jelentős szerepet vállalt előadóként, konzulensként és A .NET Framework és programozása című könyv társszerzőjeként. Az MSDN Kompetencia Központon belül a Portál Technológiák Csoport vezetője, szakterülete web alapú rendszerek fejlesztése és üzemeltetése. 2004-ben Magyarországon elsőként kapta meg a Most Valuable Professional címet, majd 2005 óta a Microsoft magyarországi regionális igazgatója. Publikációi a Technet Magazinban, az MSDN Kompetencia Központ honlapján és szakmai blogjában olvashatóak.

2009.08.10. 8:32:38 | Permalink | Hozzászólások: 0 | Tárgyszavak: ,


  • Facebook Like button XSS

    Balássy György (MS RD, ASP.NET MVP, MCTS) A Facebook Like gombjának egy csomó előnye van. Az egyik például az, hogy mivel előbb-utóbb ott lesz minden weboldalon, ha esetleg valamilyen security bug van benne, akkor az szinte a teljes internetet érinteni fogja. Mint ahogyan érinti is. Tovább »
  • Lekerekített sarkok IE9-ben - CSS3

    Dávid Zoltán Weboldalakon sokáig nem volt egyszerű lekerekített sarkú tarületeket definiálni - pedig igény az lett volna rá. Ezért több tucat módja alakult ki annak, hogyan lehet hasonló hatást kelteni. Az IE9-ben implementált CSS3 border-radius megjelenésével ennek vége! Mostantól nagyon egyszerű tényleg lekerekített sarkokat definiálni, ráadásul szabványosan. Tovább »


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások