例如,在我的Java servlet项目中,我将用户在网站上输入的文本返回到同一个网站(在HTML和JavaScript中的多个位置,可能会受到XSS攻击)。
使用ApacheStringEscapeUtils类同时转义HTML和JavaScript是否正确,如下所示:
String sample_string=escapeEcmaScript(escapeHtml4(request.getParameter("sample_string")));
您可以使用Spring的HtmlUtils:
HtmlUtils.htmlEscape(input)
或Apache commons StringEscapeUtils:
StringEscapeUtils.escapeHtml(input)
当您逃离HTML时,您不必担心Javascript。由于HTML是转义的,所以Javascript将只显示为纯文本,而不会运行。