【发布时间】:2020-12-13 20:43:00
【问题描述】:
我正在使用DOMPurify 清理 HTML 以防止 XSS。
const sanitizedHtml = DOMPurify.sanitize(htmlString);
问题在于默认情况下,DOMPurify 不支持 HTML 标记的属性。就我而言,我有一个带有 target 属性的锚元素,并且经过净化的 HTML 删除了 target 属性。
从文档中我发现以下代码解决了这个问题:
const sanitizedHtml = DOMPurify.sanitize(htmlString, { ADD_ATTR: ['target'] });
但是,我的问题是,如果 DOMPurify 正在删除所有属性,那么这背后肯定有一些原因。那么如果我允许上面提到的某些特定属性,我是否会打开任何安全风险(XSS 攻击)?
【问题讨论】:
标签: javascript xss dompurify