vue模板语法默认转义确保安全,v-html需配合dompurify净化、服务端双重过滤及csp策略防御xss。

Vue 模板语法本身不支持直接执行脚本,但富文本展示常绕过默认防护——关键在于避免把未经净化的 HTML 交给 v-html。双花括号 {{ }} 和 v-text 会自动转义,安全但无法渲染格式;而 v-html 虽能展示加粗、链接等效果,却会原样插入 DOM,一旦内容含 <script></script>、onerror、javascript: 等,就可能触发 XSS。
优先用 {{ }} 或 v-text 渲染纯文本内容
如果业务允许只显示文字(比如评论摘要、通知简述),就别碰 v-html。Vue 的插值语法默认对 、<code>>、& 做 HTML 实体转义,攻击者输入 <img src="x" onerror="alert(1)"> 也会被当作文本显示,不会执行。
必须用 v-html 时,强制走 DOMPurify 净化
不要自己写正则过滤,容易漏掉变种 payload。推荐使用 DOMPurify,它基于白名单机制,只保留你明确允许的标签和属性:

