Ich versuche, XSS-Angriffe zu stoppen, also verwende ich html agility pack, um meine Whitelist zu erstellen, und Microsoft Anti-Cross Site Scripting Library, um den Rest zu bewältigen.
Jetzt bin ich dabei, alle Html-Hinweise zu kodieren. Ich erhalte eine große Zeichenkette von Html-Code, die Hrefs enthalten kann. Laut MS Library gibt es eine URL-Kodierung, aber wenn man die ganze URl kodiert, kann sie nicht verwendet werden. Im Beispiel kodieren sie also nur die Abfragezeichenfolge
UrlEncode Nicht vertrauenswürdige Eingaben werden in einer URL verwendet (zum Beispiel ein Wert in einer Querystring) Klicken Sie hier!
http://msdn.microsoft.com/en-us/library/aa973813.aspx
So jetzt meine Fragen ist, wie ich durch eine Href parsen und finden Sie die Abfragezeichenfolge. Ist es immer nur "?" dann Abfragezeichenfolge oder kann es Leerzeichen haben und auf verschiedene Arten geschrieben werden?
bearbeiten
Diese Urls werden nicht von mir geschrieben, sondern von den Nutzern, die sie weitergeben werden. Deshalb brauche ich eine Möglichkeit, um sicherzustellen, dass ich alle Abfragezeichenfolgen erhalte und nicht nur solche im gültigen Format. Wenn es mit ungültigen Formaten funktioniert, muss ich auch diese erfassen. Hackern ist es egal, ob es ein gültiges Format ist oder nicht, solange es immer noch das tut, was sie wollen.