如何在html-sanitizer中允许文本引号等特殊字符
解决sanitize-html转义特殊字符的问题
要让sanitize-html保留&、>、<、"这类原字符,不自动转换为HTML实体,只需在配置中添加encodeEntities: false参数:
let clean = sanitizeHtml(req.body.content, { allowedAttributes: { span: ["data-*", "class"], }, encodeEntities: false // 关键配置:关闭实体编码 });
说明:
encodeEntities是sanitize-html的核心配置项,默认值为true,会自动将特殊字符转换为HTML实体以规避XSS风险。- 关闭该选项后,输入的
&、<等字符会被原样保留,但sanitize-html依然会过滤危险HTML标签(如<script>)和未被允许的属性,XSS防护机制仍有效。 - 需确保
allowedTags(未显式设置时使用默认允许标签)和allowedAttributes配置准确,避免遗漏必要的安全限制。
内容的提问来源于stack exchange,提问作者nermineslimane
相关产品推荐
相关产品推荐

