6 Stimmen

Ein potenziell gefährlicher Request.Path-Wert wurde vom Client (?) mit gültiger URL erkannt.

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.

1voto

Martin Brown Punkte 23597

Wenn ASP.NET eine Anfrage mit dem '?'-Zeichen empfängt, das als '%3F' codiert ist, gibt es diese Fehlermeldung. Gleichzeitig dekodiert es das '%3F' in ein '?'-Zeichen in der Request["PATH_INFO"] oder Request.PathInfo Variable aus.

Wenn Sie Request["HTTP_URL"] oder Request.Url.OrigionalString anschauen, könnten Sie etwas anderes sehen.

0voto

Stellen Sie sicher, dass einzelne Codes vorhanden sind: Ich hatte auch dieselben Probleme mit diesem Fehler. Unten ist mein korrekter Code-Abschnitt:

titleNew = string.Format("{1}", idx, resource.Title);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X