Wie das abfangen und pre-Prozess-Abfragezeichenfolgen in Asp.Net
Senden wir die Registrierung von urls, um Kunden per E-Mail. Einige der E-Mail-clients sind, drehen Sie die url in
url <url>
Ich denke, es kann passieren, wenn Benutzer weiterleiten der E-Mail auf sich selbst an welcher Stelle die E-Mail-client re-Format der ursprünglichen E-Mail (vielleicht)
E. g.
https://my.app.com/login.aspx?param=var
Wird
https://my.app.com/login.aspx?param=var%20%3Chttps://my.app.com/login.aspx?param=var%3E
Welche zu Recht produziert das System.Web.HttpRequestValidationException: Ein möglicherweise gefährlicher Request.QueryString-Wert erkannt wurde
Wo im code sollte ich abfangen diese Instanzen und santize die url, so dass der Benutzer wird weitergeleitet auf die ursprüngliche form der url?
global.asax?
Page_Init?
HttpHandler?
Pipeline?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du es fangen kannst in der Globalen Application_BeginRequest oder bei der gleichen Veranstaltung in einem HttpModule.
Globalen
Modul
Diese erhalten die Anfrage verarbeitet mit der korrekten query-string der Anfrage, unabhängig von dem, was Sie sehen in der Adressleiste des Browsers. Sie können möglicherweise zusätzliche Maßnahmen ergreifen, entfernen Sie den Müll von den ausgewiesenen url, aber das ist hauptsächlich nur die ästhetik.