nuxt3:vue-dompurify-html

简介: nuxt3:vue-dompurify-html

一、引出vue-dompurify-html

v-html可能引起跨站脚本攻击(Cross-Site Scripting 简称 XSS)。

所以,在网站上动态渲染任意 HTML 是非常危险的,因为容易导致 [XSS 攻击]。只在可信内容上使用 v-html,永不用在用户提交的内容上。

仅用于展示的内容个人觉得可以使用。为了避免出现特殊情况,本文介绍一个插件“vue-dompurify-html”。

二、npm

vue-dompurify-html - npm

三、nuxt3项目使用

3.1、安装vue-dompurify-html

pnpm add vue-dompurify-html

3.2、plugins/vueInject.js

// 防止使用v-html发生跨站脚本攻击XSS
import VueDOMPurifyHTML from 'vue-dompurify-html'
export default defineNuxtPlugin(nuxtApp => {
    nuxtApp.vueApp.use(VueDOMPurifyHTML)
})

3.4、业务文件使用

<div v-dompurify-html="'<div>test</div>'"></div>
// 行内再写上行内样式可能会有问题,待继续研究

问题如图:

同样的代码下边方式即可:

<div v-dompurify-html="str1"></div>
let str1: string = '<div style="color:red;" class="html"> test1 </div>'
// 推荐这样的方式

经过测试,成功。

四、欢迎交流指正,关注我,一起学习。

相关文章
|
XML JSON JavaScript
【前端】Vue项目中 JSON 编辑器的使用
【前端】Vue项目中 JSON 编辑器的使用
6736 0
|
API
uni-app点击按钮显示 loading 提示框-uni.showLoading(OBJECT)
uni-app点击按钮显示 loading 提示框-uni.showLoading(OBJECT)
1070 0
|
Web App开发 前端开发
【前端异常】Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.
【前端异常】Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.
3174 0
|
7月前
|
人工智能 JavaScript 测试技术
实战复盘:我是如何把 Claude Code 的月账单从 $800 砍到 $150 的
用 Claude Code 做开发确实爽,但月底看到账单的时候就不爽了。 我手上有一个 5 万行左右的 TypeScript 项目,刚开始放开了用,一个月下来直接烧掉 $800。这个数字让我不得不坐下来认真研究一下——钱到底花在哪了?有没有办法在不影响开发效率的前提下,把成本打下来? 经过一个月的摸索和调优,最终月费稳定在 $150 左右,降幅达到 81%。这篇文章就是这段经历的完整总结。 很多人以为 AI 编程助手的开销主要在"它给你写的代码"上,其实不然。我拿自己的项目做了统计,结果挺意外的:
3241 5
|
内存技术
Mac nvm 切换为淘宝镜像
Mac nvm 切换为淘宝镜像
2524 0
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
5383 1
|
网络安全 开发工具 git
Git仓库创建与代码上传指南
本教程介绍了将本地项目推送到远程Git仓库的完整流程,包括初始化本地仓库、添加和提交文件、创建远程仓库、关联远程地址及推送代码。同时,还提供了`.gitignore`配置、分支管理等可选步骤,并针对常见问题(如认证失败、分支不匹配、大文件处理及推送冲突)给出了解决方案。适合初学者快速上手Git版本控制。
|
移动开发 JavaScript 前端开发
Element Plus 和 Ant Design Vue 对比测评,哪个更好?
Vue 3 发布后,各家第三方库开始陆续重构并支持 Vue 3 ,国内两大知名框架 Element Plus 和 Ant Design Vue 也相续发布新版支持 Vue 3。到底应该怎么选择呢?本文从多个纬度对两个框架进行对比和测评。
4607 0
Vue3走马灯(Carousel)
这是一个基于 Vue2 的走马灯(Carousel)组件,支持丰富的自定义配置。主要属性包括图片数组、宽度、高度、自动切换、暂停轮播、过渡效果、轮播间隔、箭头和指示点等。组件提供了多种过渡效果(如滑动和渐变)及动画时长设置,并允许自定义箭头和指示点的样式。此外,还支持通过键盘方向键进行切换,提供了灵活的使用方法。
1068 3
Vue3走马灯(Carousel)