我试图弄清楚保护网站免受 XSS 攻击的最小编码量是多少。
我确定我需要在标签内编码 < (<) 和 > (>),在属性内编码 " (") 和 ' (')。
我还需要编码 & (&) 吗?当用户保存数据时,我遇到了双重编码问题(因为 & 会变成 &)。如果我没有对 & 符号进行编码,是否有任何安全漏洞或缺点会让人高兴?这意味着他们将能够输入他们想要的任何 HTML 实体。
通过 HTML 实体,我特别指的是与实体相对应的带有 & 前缀的序列(如 © ™)。
这个问题与语言无关(当然,HTML 部分除外)。
编辑:呵呵,stack-overflow 让我可以保留我的 html 编码实体 :) 这可能会说明问题。