如何在保留HTML标记(Javascript/NodeJ)的同时清理字符并将其转换为HTML实体?
我希望接受来自WYSIWYG编辑器的丰富输入,但是,我希望在保留HTML标记的同时将所有特殊字符转换为HTML实体如何在保留HTML标记(Javascript/NodeJ)的同时清理字符并将其转换为HTML实体?,javascript,node.js,Javascript,Node.js,我希望接受来自WYSIWYG编辑器的丰富输入,但是,我希望在保留HTML标记的同时将所有特殊字符转换为HTML实体 我想输出与输入相同的富文本。但是,如果有人将字符作为其文本的一部分,该怎么办?我不想把它误认为是开始或结束的HTML标记。您只需转义有效的HTML字符,以便它们将被解释为普通文本而不是HTML 严格地说,转义有效HTML只意味着用相应的数字字符引用(#0000;)替换有效字符 有很多库专门执行这个转义和清理过程,您应该选择一个最适合您的语言、用例和框架的库 作为参考,来自: &a
我想输出与输入相同的富文本。但是,如果有人将<或>字符作为其文本的一部分,该怎么办?我不想把它误认为是开始或结束的HTML标记。您只需转义有效的HTML字符,以便它们将被解释为普通文本而不是HTML 严格地说,转义有效HTML只意味着用相应的数字字符引用(#0000;)替换有效字符 有很多库专门执行这个转义和清理过程,您应该选择一个最适合您的语言、用例和框架的库 作为参考,来自:
&代码>→ & (安培,U+0026)
→ < (小于符号,U+003C)
→ > (大于符号U+003E)
→ " (引号U+0022)“
→ ' (撇号U+0027)&apos;
→ & (安培,U+0026)&;
→ < (小于符号,U+003C)
→ > (大于符号U+003E)
→ “(引号U+0022)“
→ ' (撇号U+0027)&apos;
要清楚,您要确保考虑客户端和服务器端的消毒/验证/逃逸问题。
这将稍微深入一点,并解释两种类型的XS: 在反射的XSS攻击中,攻击发生在请求本身 (通常是URL)并且当服务器 在响应中逐字插入攻击,或错误地转义,或 已消毒。受害者通过浏览恶意网站触发攻击 攻击者创建的URL 在存储的XSS攻击中,攻击者将攻击存储在 应用程序(例如,在代码片段中)和受害者通过以下方式触发攻击: 浏览到服务器上呈现攻击的页面,而不是 正确转义或清理存储的数据 在消毒、输入验证和逃逸的过程和重要性方面做得不错 额外资源: 客户端:- 结帐开始
- 用于XSS预防
- 如果要将此内容存储在文件系统上,在文件系统中它“可能”包含
或
,则需要确保以不可执行的形式存储必需
- 存储在数据库中,经过base64编码后,就可以工作了
要清楚,您要确保考虑客户端和服务器端的消毒/验证/逃逸问题。
这将稍微深入一点,并解释两种类型的XS: 在反射的XSS攻击中,攻击发生在请求本身 (通常是URL)并且当服务器 在响应中逐字插入攻击,或错误地转义,或 已消毒。受害者通过浏览恶意网站触发攻击 攻击者创建的URL 在存储的XSS攻击中,攻击者将攻击存储在 应用程序(例如,在代码片段中)和受害者通过以下方式触发攻击: 浏览到服务器上呈现攻击的页面,而不是 正确转义或清理存储的数据 在消毒、输入验证和逃逸的过程和重要性方面做得不错 额外资源: 客户端:- 结帐开始
- 用于XSS预防
- 如果要将此内容存储在文件系统上,在文件系统中它“可能”包含
或
,则需要确保以不可执行的形式存储必需
- 存储在数据库中,经过base64编码后,就可以工作了