Ich habe jetzt seit einigen Wochen eine ASP.NET MVC 4-Webanwendung, die auf IIS 7.5 läuft, und habe in letzter Zeit festgestellt, dass ich ziemlich viele der folgenden Fehler erhalte:
System.Web.HttpException (0x80004005): Ein potenziell gefährlicher Request.Path-Wert wurde vom Client erkannt (?). bei System.Web.HttpRequest.ValidateInputIfRequiredByConfig() bei System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)
Ich weiß, dass diese Ausnahme auftritt, wenn der URL-Pfad illegale Zeichen enthält, aber das Seltsame ist, dass der URL in meinem Fall gültig ist. Hier ist ein Beispiel für die URL: www.mysite.com/myApp/bookTitle?chapter=12&page=278
.
Wenn ich jedoch einen der gemeldeten Links ausprobiere, funktionieren sie einwandfrei und ohne Ausnahmen.
Beim Blick auf das Fehlerprotokoll habe ich festgestellt, dass die Abfragezeichenfolge nicht als Teil der QUERY_STRING-Variablen angezeigt wird, sondern zusammen mit dem Rest des Pfads in der PATH_INFO-Variablen enthalten ist, die wie folgt aussieht:
/myApp/bookTitle?chapter=12&page=278
. Es scheint also, dass das (?) nicht als Trennzeichen zwischen dem Pfad und der Abfrage erkannt wird (vielleicht aufgrund einer Art von URL-Codierung), aber ich bin mir nicht sicher, wie ich das beheben kann.
Jede Hilfe wäre sehr willkommen.