例如,在我的 Java servlet 项目中,我将用户在站点上输入的文本返回到同一个站点(在 HTML 和 JavaScript 中的多个位置,潜在的 XSS 攻击)。
使用 Apache StringEscapeUtils 类同时转义 HTML 和 JavaScript 是否正确,如下所示:
String sample_string=escapeEcmaScript(escapeHtml4(request.getParameter("sample_string")));
例如,在我的 Java servlet 项目中,我将用户在站点上输入的文本返回到同一个站点(在 HTML 和 JavaScript 中的多个位置,潜在的 XSS 攻击)。
使用 Apache StringEscapeUtils 类同时转义 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 将仅显示为纯文本,而不是运行。