在html网页中显示字符%3c,浏览器是否有其他序列解释为HTML特殊字符?

在HTML中,有几个特殊字符< > & ' "对DOM解析器有重要意义。这些是诸如PHP htmlspecialchars等流行函数转换为HTML实体的字符,以便在解析时不会意外触发某些内容。浏览器是否有其他序列解释为HTML特殊字符?

执行的翻译是:

'&'(符号)变成&

"(双引号)变得" 当没有设置ENT_NOQUOTES。

'(单引号)变成'只有当设置ENT_QUOTES时为 。

'

'>' 变为>

然而,记得在旧的浏览器等IE6中,也有其他字节序列导致浏览器的DOM解析器为interpret content as HTML。

今天这仍然是一个问题吗?如果你单独过滤这5个就足以防止XSS?

例如,这里是(以UTF-8)中的所有已知的在 HTML和JavaScript字符 “

<

%3C

&lt

<

&LT

&LT;

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

\x3c

\x3C

\u003c

\u003C