前端如何正确处理用户输入防止XSS攻击?

UI美含 阅读 4

我在做一个评论功能,用户提交的内容要显示在页面上,但担心XSS漏洞。比如用户输入了alert(1),直接innerHTML就会执行,这太危险了。

我试过用DOMPurify库清理,但有些场景又需要保留部分HTML(比如加粗和链接),结果配置起来很混乱。有没有更稳妥又简单的方式?

比如下面这段代码,怎么改才能既安全又能支持有限的富文本?

function renderComment(text) {
  const div = document.createElement('div');
  div.innerHTML = text; // 这里明显不安全
  document.body.appendChild(div);
}
我来解答 赞 2 收藏
二维码
手机扫码查看
暂无解答

暂无解答