一、引出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


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

3.4、业务文件使用


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

 问题如图:

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


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

经过测试,成功。

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

GitHub 加速计划 / vu / vue
107
18
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
9e887079 [skip ci] 1 年前
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐