前端如何防止XSS攻击?我用了转义还是被绕过了?

丽苹 Dev 阅读 26

最近在做用户评论功能,后端返回的评论内容里可能包含用户输入的HTML,我用DOMPurify.sanitize()处理了,但测试时发现还是能插入脚本,是不是我用法不对?

比如下面这段代码,我以为会被过滤掉,结果居然执行了:

const dirty = '<img src=x onerror=alert(1)>';
const clean = DOMPurify.sanitize(dirty);
document.getElementById('comment').innerHTML = clean;

我查了文档说默认配置应该能防XSS,但实际在Chrome里弹窗了。是不是还要加什么配置?或者我该换别的方案?

我来解答 赞 1 收藏
二维码
手机扫码查看
暂无解答

暂无解答