OWASP java-html-sanitizer - 未关闭标签的策略

OWASP java-html-sanitizer - policy for unclosed tags

我正在使用来自 OWASP java-html-sanitizer 的 EbayPolicyExample.java 的相同示例,但是,当用户编写如下内容时,我一直面临一些问题: let's consider that x <n then we have ... 所以发生的是 <n 之后的每个文本都被删除了。

如何解决这个问题并保留字符串 <n

我尝试稍微更改一下策略,但没有成功,可以猜测用户在 < 之后输入的字母是什么。

注意:标签 n 只是一个示例,它应该也适用于任何字母(例如 <o, <i, <y)?

link为代码:https://raw.githubusercontent.com/OWASP/java-html-sanitizer/master/src/main/java/org/owasp/html/examples/EbayPolicyExample.java

您应该在输入中提供有效的 HTML。 <是HTML中的一个特殊字符。它表示标签的开始。

您必须在输入中将 < 替换为相应的 HTML 实体:&lt;

如果输入是由用户输入的,您必须 pre-process 它并确保它确实有效 HTML。这个 post 可能有用:Recommended method for escaping HTML in Java