Vue安全神器!vue-dompurify-html让你的应用告别XSS攻击,一行代码解决HTML注入问题

在 Vue 开发中,我们经常需要动态渲染 HTML 内容,但使用v-html指令时存在 XSS 攻击风险。vue-dompurify-html 为我们提供了一个安全、优雅的解决方案。

什么是 vue-dompurify-html?

vue-dompurify-html 是一个基于 DOMPurify 的 Vue 插件,它为 Vue 应用提供了v-html指令的安全替代方案。通过 DOMPurify 的强大净化功能,它能在渲染 HTML 之前自动过滤掉恶意代码,确保应用安全。

核心特性

  • 安全可靠:基于 DOMPurify,业界认可的 HTML 净化库
  • 简单易用:零配置即可使用,API 友好
  • 高度可配置:支持自定义净化规则
  • 保持样式:智能保留安全的 CSS 样式
  • 轻量级:只是 DOMPurify 的简单包装器

安装配置

1. 安装依赖

# 使用npm
npm install vue-dompurify-html

# 使用yarn
yarn add vue-dompurify-html

# 使用pnpm
pnpm install vue-dompurify-html

2. 全局注册

在你的main.jsmain.ts中:

import { createApp } from "vue";
import App from "./App.vue";
import VueDOMPurifyHTML from "vue-dompurify-html";

const app = createApp(App);
app.use(VueDOMPurifyHTML);
app.mount("#app");

基础使用

简单使用

替换原来的v-html指令:

<template>
  <div>
    <!-- ❌ 不安全的方式 -->
    <div v-html="dangerousHtml"></div>

    <!-- ✅ 安全的方式 -->
    <div v-dompurify-html="safeHtml"></div>
  </div>
</template>

<script setup>
import { ref } from "vue";

const safeHtml = ref(`
    <h2 style="color: #4CAF50;">欢迎使用vue-dompurify-html</h2>
    <p>这段HTML已经被<strong>安全净化</strong>过了!</p>
    <${"script"}>alert('这段脚本会被自动移除')</${"script"}>`);
</script>

净化效果对比

输入 HTML v-html 结果 v-dompurify-html 结果
<script>alert('XSS')</script>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伍哥的传说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值