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
)?
- 输入:
let's consider that x <n then we have ...
- 实际输出:
let's consider that x
- 预期输出:
let's consider that x <n then we have ...
您应该在输入中提供有效的 HTML。
<
是HTML中的一个特殊字符。它表示标签的开始。
您必须在输入中将 <
替换为相应的 HTML 实体:<
。
如果输入是由用户输入的,您必须 pre-process 它并确保它确实有效 HTML。这个 post 可能有用:Recommended method for escaping HTML in Java
我正在使用来自 OWASP java-html-sanitizer 的 EbayPolicyExample.java
的相同示例,但是,当用户编写如下内容时,我一直面临一些问题:
let's consider that x <n then we have ...
所以发生的是 <n
之后的每个文本都被删除了。
如何解决这个问题并保留字符串 <n
?
我尝试稍微更改一下策略,但没有成功,可以猜测用户在 <
之后输入的字母是什么。
注意:标签 n 只是一个示例,它应该也适用于任何字母(例如 <o, <i, <y
)?
- 输入:
let's consider that x <n then we have ...
- 实际输出:
let's consider that x
- 预期输出:
let's consider that x <n then we have ...
您应该在输入中提供有效的 HTML。
<
是HTML中的一个特殊字符。它表示标签的开始。
您必须在输入中将 <
替换为相应的 HTML 实体:<
。
如果输入是由用户输入的,您必须 pre-process 它并确保它确实有效 HTML。这个 post 可能有用:Recommended method for escaping HTML in Java