前端如何正确处理用户输入防止XSS攻击?
我在做一个评论功能,用户提交的内容要显示在页面上,但担心XSS漏洞。比如用户输入了alert(1),直接innerHTML就会执行,这太危险了。
我试过用DOMPurify库清理,但有些场景又需要保留部分HTML(比如加粗和链接),结果配置起来很混乱。有没有更稳妥又简单的方式?
比如下面这段代码,怎么改才能既安全又能支持有限的富文本?
function renderComment(text) {
const div = document.createElement('div');
div.innerHTML = text; // 这里明显不安全
document.body.appendChild(div);
}
暂无解答