前端如何防止XSS攻击?我用了转义还是被绕过了?
最近在做用户评论功能,后端返回的评论内容里可能包含用户输入的HTML,我用DOMPurify.sanitize()处理了,但测试时发现还是能插入脚本,是不是我用法不对?
比如下面这段代码,我以为会被过滤掉,结果居然执行了:
const dirty = '<img src=x onerror=alert(1)>';
const clean = DOMPurify.sanitize(dirty);
document.getElementById('comment').innerHTML = clean;
我查了文档说默认配置应该能防XSS,但实际在Chrome里弹窗了。是不是还要加什么配置?或者我该换别的方案?
暂无解答