2012-05-31 2 views
8

Ich verwende Login Control von ASP.NET in meiner Webanwendung. Ich möchte eine lustige Art von Fehler auf einem Etikett zeigen, wenn diese Ausnahme auftritt System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client es auftritt, wenn ein Benutzer versuchen, SQL-Injektion Angriff oder einige HTML-oder SCRIPT-Operationen, indem Sie sie in Benutzername Textfeld der Login-Kontrolle. Ich habe viele Dinge ausprobiert, wie das Einschließen der Authentifizierungsanmeldung in try catch block und das Abfangen der System.Web.HttpRequestValidationException Ausnahme, die auch für ein von mir erstelltes Ereignis dasselbe tut wie onTextChange für Benutzername TextBox. Aber alle diese Versuche scheiterten. Bitte sagen Sie mir, wie ich nach dieser Ausnahme Ausschau halten und dem Angreifer eine lustige Nachricht zeigen kann?Angezeigte Fehlermeldung bei Ausnahme: Ein potentiell gefährlicher Request.Form-Wert wurde vom Client erkannt

+0

Können Sie bitte ein Beispiel dafür, wie der Code aussieht in Bezug auf das, was Sie versuchen, zu erreichen .. ?? Danke – MethodMan

+0

Wenn Sie IIS7 + verwenden, gibt es hier eine einfachere Lösung: - http://stackoverflow.com/questions/30071341/asp-net-mvc-customerror-page-doesnt-get-displayed-for-some-of-the- -400-Fehler/30072933 # 30072933 –

Antwort

11

Hier sind ein paar Beispiele dafür, wie ein freundlicher Fehler msg zu bieten:

http://romsteady.blogspot.com/2007/06/how-to-catch-httprequestvalidationexcep.html

How to catch HttpRequestValidationException in production

Das, was Sie im Auge behalten müssen, ist, dass diese Ausnahme, bevor Sie Seite Code ausgelöst wird, das passiert. Normalerweise können Sie den Fehler in Ihrem Seitencode nicht abfangen, sondern nur in Application_Error.

Ich habe dies selbst nicht versucht, aber this site gibt eine alternative Möglichkeit, Ihren Seitencode auszuführen, aber schützen Sie sich immer noch vor bösartigen Eingaben mit der eingebauten Logik, sowie die Ausnahme innerhalb Ihres eigenen Codes zu fangen.

Verwandte Themen