• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

nuxt3vue-dompurify-html

武飞扬头像
snow@li
帮助1

一、引出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.  
     
  3.  
    let str1: string = '<div style="color:red;" class="html"> test1 </div>'
  4.  
     
  5.  
    // 推荐这样的方式

学新通

经过测试,成功。

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

参考链接:

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfbfgi
系列文章
更多 icon
同类精品
更多 icon
继续加载