VueDOMPurifyHTML 防止 XSS(跨站脚本攻击) 风险

VueDOMPurifyHTML 是一个 ​​Vue.js 插件​ ​,用于在 v-html 指令中安全地渲染 HTML 内容,防止 ​​XSS(跨站脚本攻击)​​ 风险。

​作用​

  • ​解决 v-html 的安全问题​
    Vue 的 v-html 会直接渲染原始 HTML,如果内容来自用户输入或外部 API,可能包含恶意脚本(如 <script>alert('XSS')</script>)。
    VueDOMPurifyHTML 使用 ​DOMPurify​(一个安全的 HTML 清理库)对内容进行过滤,只保留安全的 HTML 标签和属性。

基本用法​

1.安装

npm install vue-dompurify-html dompurify

2.​​在 Vue 项目中注册

import Vue from 'vue'

import VueDOMPurifyHTML from 'vue-dompurify-html'

Vue.use(VueDOMPurifyHTML)

3.在模板中使用

<div v-dompurify-html="userProvidedHtml"></div>

(替代原本不安全的 v-html

示例​:

<template>
<div v-dompurify-html="rawHtml"></div>
</template>

<script>
export default {
data() {
return {
rawHtml: '<span style="color: red;">安全内容</span><script>alert("恶意代码会被删除")</script>'
}
}
}
</script>

输出结果​​:

  • 渲染 <span style="color: red;">安全内容</span>
  • 自动移除 <script> 标签及其内容,避免 XSS 攻击。

​适用场景​

  • 渲染富文本内容(如 CMS 文章、评论等)
  • 需要保留基本 HTML 样式(如加粗、链接),但过滤危险代码

对比原生 v-html

方式 安全性 是否过滤恶意代码
v-html ❌ 不安全 直接渲染原始 HTML
v-dompurify-html ✅ 安全 自动清理危险标签

推荐在需要动态渲染 HTML 时优先使用此插件,而不是直接使用 v-html

相关推荐
PBitW3 分钟前
git 中容易遗忘的点 (二) ⚡⚡⚡
前端·git·面试
Hilaku10 分钟前
2026 年前端大洗牌:React 服务端到 Vite 的底层重构
前端·javascript·程序员
PBitW23 分钟前
git 中容易遗忘的点 (三) 🚀🚀🚀
前端·git·面试
名字还没想好☜25 分钟前
React setState 连续调用「丢更新」排查:批量更新与函数式更新
前端·javascript·react.js·react·usestate
come1123440 分钟前
Vue 2 与 Vue 3 语法区别及使用技巧
前端·javascript·vue.js
腻害兔1 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:ERP 企业资源模块,一个轻量级进销存的完整实现?
前端·javascript·vue.js·人工智能·前端框架·产品经理·ai编程
虹科网络安全1 小时前
艾体宝新闻|从 SQL 注入到服务器接管:CVE-2026-57517 暴露 Web 管理面板的供应链与安全编码风险
服务器·前端·sql
糖果店的幽灵1 小时前
langgraph的四种state解析
java·前端·javascript·langgraph
顺颂时绥_11 小时前
前端大图片压缩与安卓/苹果设备矫正实践
前端
Csvn1 小时前
JSON.parse 大数精度丢失:一个让前后端互相甩锅的 Bug
前端