2016-06-30 13 views
0

Ich möchte XSS-Angriffe in meiner Web-App zu verhindern, also möchte ich die Daten vom Benutzer in einem Formular vor dem Speichern in der DB, um es in einer anderen JSP-Seite anzuzeigen, und ich bin es zu entgehen zwischen zwei Ansätzen zu zögern:verhindern XSS-Angriffe in JSPs

StringEscapeUtils.escapeHtml(), dass für die Eingabe REGGAETON/SALSA geben Sie mir das gleiche Ergebnis, aber für ESAPI.encoder().encodeForHTML(), dass für den gleichen Eingang wird der Ausgang REGGAETON & # X2f sein; SALSA

Antwort

4

nicht entkommen Daten speichern, es entkommen, wenn Sie es angezeigt werden müssen:

Die Art und Weise zu entkommen Kontext hängt von Ihnen will es angezeigt werden, so dass, wenn Sie es entkam speichern , es wird nur in diesem Kontext verwendbar sein, und die meisten der Zeit, fliehende Funktionen sind keine bijektiven, so verlieren Sie Informationen.

Für die Art und Weise zu kodieren, es in einem HTML-Kontext anzuzeigen, beide Wege Nähte korrekt.

Zusätzlich, um den Schutz gegen XSS zu verbessern, sollten Sie in CSP (Inhaltssicherheitsrichtlinie) schauen, es hilft viel, besonders für neue Projekte.

Verwandte Themen