Wir haben eine J2EE Web-Anwendung Using Spring MVC. Wir haben eine neue Anforderung für unsere Webanwendung, bei der wir bestimmte vordefinierte Zeichen aus der Benutzereingabe entfernen müssen. Angenommen, die Anwendung sollte "<" von allen Benutzereingaben entfernen. Ich habe mit zwei Ansätzen kommen diese Anforderung zu erfüllen:Wie können vordefinierte Zeichen von Benutzereingaben in einer J2EE-Webanwendung entfernt werden?
JSP Level: identifizieren jeden einzelnen jsp die Benutzereingabe erlaubt und dann die Zeichen von Client-Seite Verarbeitung entfernen.
Servlet-Filter: Verwenden Sie einen Filter und fangen Sie das Anfrageobjekt ab. Hier kann ich einen der folgenden zwei Ansätze verwenden:
2.1: Überschreiben Sie die request.getParameter-Methode und schreiben Sie die Zeichenlöschungslogik darin. Wenn diese Methode aufgerufen wird, wird das gefilterte Ergebnis zurückgegeben.
2.2: Scannen Sie auf der Filterebene die Parameterkarte und filtern Sie die erforderlichen Zeichen. Schreiben Sie dann eine setParameter-Methode und legen Sie die neuen Werte in der Anforderungs-Parameterzuordnung fest.
Welchen Ansatz schlagen Sie vor? Hat der Filter Auswirkungen auf die Leistung? Wenn Sie sich einen besseren Ansatz vorstellen können, lassen Sie es mich wissen.
Aus Neugier, machst du das unter dem Gesichtspunkt der Sicherheit? –