前端安全审计时如何防止XSS攻击?

A. 清梅 阅读 2

最近在做项目的安全审计,发现用户输入的内容直接渲染到页面上,担心有XSS风险。比如下面这段代码,把用户昵称直接插进HTML里,会不会被注入脚本?

<div class="user-info">
  <h3>欢迎,<span id="username"></span></h3>
</div>

<script>
  const username = getUntrustedUserInput(); // 来自URL参数或API
  document.getElementById('username').innerHTML = username;
</script>

我试过用textContent代替innerHTML,但有些地方又需要保留简单的HTML格式(比如换行),现在不知道该怎么平衡功能和安全了。

我来解答 赞 5 收藏
二维码
手机扫码查看
1 条解答
令狐子轩
这个确实是个典型的XSS风险点。innerHTML直接插入用户输入相当于开了个后门,恶意用户完全可以注入
测试下效果。
点赞
2026-03-10 07:00