Auf meiner Produktions-ASP.NET MVC 3-Site bemerkte ich gelegentlich "Ein potentiell gefährlicher Request.Path-Wert wurde vom Client erkannt (%)" . " unbehandelte Ausnahme im Windows-Anwendungsprotokoll.ASP.NET MVC "Potenziell gefährlicher Request.Path" mit gültiger URL
Während diese unter normalen Site-Nutzung (dh/zufällige Web-Bots) perfekt gültig sein können, scheint eine Anzahl der Anfragen von gültigen, lokalen ISP-Benutzern zu stammen.
in der Anfrage Einzelheiten über die Ausnahme, ist die Anforderungs-URL anders als der Weg anfordern:
Anforderungs-URL: http://www.somesite.com/Images/Image Mit space.jpg
Anfrage Pfad:/Bilder/Imagehttp: // www. somesite.com/Images/Image Mit Space.jpgWithhttp: //www.somesite.com/Images/Image Mit Space.jpgSpace.jpg
Beachten Sie, dass in der "Anforderungspfad", an jedem Ort gibt es eine " Leerzeichen "im Pfad wird durch eine exakte Kopie ersetzt der Anfrage URL!
Innerhalb der Website, sieht die tatsächliche Link wie folgt:
<img src="/Images/Image%20With%20Space.jpg" />
Jede Idee, was dies verursachen könnte? Ich habe versucht, die Dokumentation für Request.Path und Request.Url zu betrachten, aber ich kann nicht herausfinden, warum sie anders sein würden. Wenn Sie die Anfrage-URL direkt eingeben, wird die Ressource korrekt angezeigt.
Update: Ich schaffte es eine Spur von einem der Fehlfunktion Anfragen zu erhalten, indem IIS 7.0 Anforderungsfehler Tracing-Funktion:
Referer: Google-Suche
User-Agent: Mozilla/5.0 (iPad, CPU OS 5_1_1 wie Mac OS X) AppleWebKit/534,46 (KHTML, wie Gecko) Version/5.1 mobile/9B206 Safari/7534.48.3
RequestURL: http://www.somesite.com:80/Images/Image%20With%20Space.jpg
Wenn Sie die URL manuell in mein iOS 5.1.1 eingeben, wird das Bild korrekt angezeigt. Wenn Sie in Google Bilder nach dem Bild suchen, wird das Bild korrekt angezeigt. Noch immer keine erfolgreiche Reproduktion.
leicht ange der Spur Ich sehe:
MODULE_SET_RESPONSE_ERROR_STATUS Warnung. Module = "Request", Mitteilung = "BEGIN_REQUEST", Httpstatus = "404", HttpReason = "nicht gefunden", HttpSubStatus = "11",
Nach IIS‘Dokumentation, 404,11 aus dem Request Filtering-Modul ein "Doppelcodierungsfehler" in der URL. Ein wenig experimentierfreudig, wenn ich absichtlich eine doppelt codierte URL wie http://www.somesite.com/Images/Image%2520With%2520Space.jpg erstelle, bekomme ich den genauen Fehler im Ereignisprotokoll, komplett mit fehlerhaftem Anfragepfad.
Der fehlerhafte Anforderungspfad im Ereignisprotokollfehler scheint ein Fehler in ASP.NET 4.0 zu sein.
Es erklärt jedoch nicht, warum ich den Fehler in erster Linie bekomme. Ich habe eine große Anzahl fehlgeschlagener Anfrageprotokolle überprüft - der einzige gemeinsame Faktor ist, dass sie alle AppleWebKit verwenden.Könnte es ein Bug in Safari sein?
http://stackoverflow.com/questions/5682160/a-potential-dangerous-request-path-value-was-detected-from-the-client und http://stackoverflow.com/questions/6025522/getting -a-potentiell-gefährlich-Anfrage-Pfad-Wert-wurde-erkannt-vom-Client – VJAI
Die URL ist gültig und MVC/IIS verarbeitet sie ohne jegliche Anpassungen oder Änderungen - es ist kein einfaches Anfragevalidierungsproblem. Sehen Sie sich den Request-Pfad genau an, der im obigen Fehler angezeigt wird. – ShadowChaser
Ich persönlich würde niemals eine Datei/Seite mit Leerzeichen auf einem Server zulassen. Ich ersetze immer Leerzeichen mit -. –