Daily Archives: 2009.08.10. 6:33

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.

Advertisements

Időzített shutdown

Hétvégén megint áramszünet volt nálunk, szerencsére ezúttal előre szóltak róla. Ilyenkor mindig leállítjuk a szervereket, hogy a visszakapcsolási tranziensek több tápegységet ne tegyenek tönkre. A Balaton mellett azonban nem volt sem kedvem, sem lehetőségem ezzel foglalkozni, ezért előre kellett gondolkodnom.

Így aztán még a szabadságom előtt elővettem az érintett szervereken a Task Schedulert és beállítottam az alábbi parancs végrehajtását ütemezve:

C:WindowsSystem32shutdown.exe /p /f /d p:0:0