Meine Anwendung ist eine Spring MVC-Anwendung, verwendet keine Anmerkungen (es ist eine ziemlich alte Anwendung, obwohl es Feder 3.1.1 verwendet).HTML-Codierung der Anfrage-Parameter
Ich habe eine JSP-Seite, die über ein Tool wie Curl oder direkt von der URL des Webbrowsers aufgerufen werden kann. Die URL akzeptiert einen Anforderungsparameter Standort genannt
http://localhost:8080/testdomain/registeruser.do?mylocation=fr
auf der oben genannten URL aufgerufen wird, nenne ich eine Implementierung von SimpleFormController, der die Anforderung Parameter „mylocation“
liest Wie HTML ich die Anfrageparameter „mylocation“ kodieren . Bevor ich den Parameter aus der Anfrage [request.getParameter ("mylocation")] in meinem Controller lese, wäre es ausreichend, wenn ich HtmlUtils.htmlEscape (request.getParameter ("mylocation")) anrufe
Bitte beachten Sie, dass es kein Formular gibt Wenn ich den Input-Parameter für mylocation unterstütze, könnte ich das wie oben erwähnt von einem Kommandozeilen-Tool oder einer Browser-URL aus aufrufen.
Warum möchten Sie etwas kodieren? Erhalten Sie korrekte Werte für Mylocation-Parameter? In der Regel müssen Sie nichts flüchten/nicht entzippen, wenn dies nur ein alphanumerischer Wert ist. – Damian
Es könnte eine Bedrohung von XSS geben, man kann Skripte mit böswilliger Absicht weitergeben. Ich bin zu verstehen, HTML-Codierung wird Skript spezielle Zeichen in seine codierte Form konvertieren. – megan
Was machst du mit diesem Parameter? Wenn Sie die Daten innerhalb einer js-Variable ausgeben, reicht HTML Escaping nicht aus. Wenn Sie jedoch nur einen einzigen nicht vertrauenswürdigen Parameter haben, können Sie dies auf einfachere Weise überprüfen. Überprüfen Sie beispielsweise, ob der Wert von myLocation in einem Enum-Typ vor dem Generieren der Ausgabe vorhanden ist: MyAllowedLocations.valueOf (myLocation); –