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

相关推荐
开开心心就好6 小时前
批量提取PDF中的图片,直接导出原图
前端·javascript·支持向量机·智能手机·pdf·html·启发式算法
Setsuna_F_Seiei9 小时前
前端转型 Agent 开发 05 之 Agent Hooks 与 Checkpointer(让 Agent 从全自动转变人为可掌控)
前端·agent·ai编程
百万蹄蹄向前冲10 小时前
风扇转了一晚上MVP专家团翻车事故
前端·人工智能
默_笙11 小时前
🏛 给 AI 配一间办公室:Harness Engineering 六大模块与它的实现
前端·javascript
linux_cfan12 小时前
videojs v10 源代码系列解读:14 · 谓词守卫:在运行时安全地调用能力
前端·javascript·音视频
kyriewen12 小时前
我扒了 10,221 条 JD:腾讯技术岗 75% 在要 AI
前端·人工智能·ai编程
郑州光合科技余经理13 小时前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
IT_陈寒14 小时前
Vue的响应式让我熬到凌晨三点,原来漏了这个小细节
前端·人工智能·后端
Blanche150014 小时前
利用 RAG 为答疑机器人扩展知识范围
前端
天若有情67314 小时前
【纯前端小工具】公历生日转农历,批量查询每年农历生日对应的公历日期(GitHub Pages在线直接用)
前端·javascript·github pages·农历转换·lunisolar·网页小工具