当前位置: 首页 > news >正文

npm库xss依赖的使用方法和vue3 中Web富文本编辑器 wangeditor 使用xss库解决 XSS 攻击的方法

npm库xss依赖的使用方法和vue3 中Web富文本编辑器 wangeditor 使用xss库解决 XSS 攻击的方法

    • 1. npm库xss依赖的使用方法
      • 1.1 xss库定义
      • 1.2 xss库功能
    • 2. vue3 中 wangeditor 使用xss库解决 XSS 攻击的方法和示例
      • 2.1 在终端执行如下命令安装 xss 依赖
      • 2.2 在使用 wangeditor 的地方引入 xss 依赖
      • 2.3 xss 依赖使用示例

1. npm库xss依赖的使用方法

1.1 xss库定义

  • npm中有一个依赖名为xss,是一个可以对用户输入的内容进行过滤以避免遭受 XSS 攻击的js模块。

1.2 xss库功能

  • 不定义白名单,也不自定义处理函数时,采用xss库默认的过滤规则。
  • 可配置标签及标签属性白名单,作为允许的HTML标签及标签属性;
  • 可自定义处理函数,针对任意标签及标签属性进行自定义处理。

2. vue3 中 wangeditor 使用xss库解决 XSS 攻击的方法和示例

2.1 在终端执行如下命令安装 xss 依赖

npm install xss -S

2.2 在使用 wangeditor 的地方引入 xss 依赖

import xss from 'xss'

2.3 xss 依赖使用示例

<template><div><div ref="myEditor" style="width: 100%"></div></div>
</template><script lang="ts" setup>
import xss from 'xss'
import wangeditor from 'wangeditor'let mailData = reactive({id: ''
})
const myEditor = ref(null)
let editorInstance = null
onMounted(() => {createWangeditor()
})
const createWangeditor = () => {editorInstance = new wangeditor(myEditor.value)let config = editorInstance.customConfig ?  editorInstance.customConfig :  editorInstance.configconfig.menus = ['head', // 标题'bold', // 加粗'fontName', // 字体'fontSize', // 字号'underline', // 下划线'strikeThrough', // 删除线'indent', // 'lineHeight', // 行高'foreColor', // 字体颜色'backColor', // 背景色'list', // 'justify' // ]config.fontNames = ['黑体','仿宋','楷体','标楷体','华文仿宋','华文楷体','宋体','微软雅黑']editorInstance.create()
}
onBeforeUnmount(() => {editorInstance = null
})// 查询文本编辑器默认内容接口
const handleChange = () => {mailData.id = ''editorInstance.txt.html('')queryDefaultContent().then(res => {const {code, data} = resif(code === '000') {let {id, content} = datamailData.id = id// 不定义白名单,也不自定义处理函数时,采用xss库默认的过滤规则let safeContent = xss(content) // 进行xss攻击过滤editorInstance.txt.html(safeContent)}})
}
</script>

相关文章:

npm库xss依赖的使用方法和vue3 中Web富文本编辑器 wangeditor 使用xss库解决 XSS 攻击的方法

npm库xss依赖的使用方法和vue3 中Web富文本编辑器 wangeditor 使用xss库解决 XSS 攻击的方法 1. npm库xss依赖的使用方法1.1 xss库定义1.2 xss库功能 2. vue3 中 wangeditor 使用xss库解决 XSS 攻击的方法和示例2.1 在终端执行如下命令安装 xss 依赖2.2 在使用 wangeditor 的地…...

微信小程序蓝牙writeBLECharacteristicValue写入数据返回成功后,实际硬件内信息查询未存储?

问题&#xff1a;连接蓝牙后&#xff0c;调用小程序writeBLECharacteristicValue&#xff0c;返回传输数据成功&#xff0c;查询硬件响应发现没有存储进去&#xff1f; 解决&#xff1a;一直以为是这个write方法的问题&#xff0c;找了很多相关贴&#xff0c;后续进行硬件日志…...

5G NR:带宽与采样率的计算

100M 带宽是122.88Mhz sampling rate这是我们都知道的&#xff0c;那它是怎么来的呢&#xff1f; 采样率 子载波间隔 * 采样长度 38.211中对于Tc的定义&#xff0c; 在LTE是定义了Ts&#xff0c;在NR也就是5G定义了Tc。 定义这个单位会对我们以后工作中的计算至关重要。 就是在…...

go 和java 编写方式的理解

1. go 推荐写流水账式的代码&#xff08;非贬义&#xff09;&#xff0c;自己管自己。java喜欢封装各种接口供外部调用&#xff0c;让别人来管自己。 2. 因为协程的存在&#xff0c; go的变量作用域聚集在方法内部&#xff0c;即函数不可重入&#xff0c;而java线程的限制&…...

C# 7.1 .Net Framwork4.7 VS2017环境下,方法的引用与调用

方法的调用比较好理解&#xff0c;就是给方法传递实参&#xff0c;执行方法代码。 方法引用涉及委托&#xff0c;委托签名与其引用的方法必须一致。以下demo说明方法调用与引用在写程序时的区别&#xff1a; using System; using System.Collections.Generic; using System.L…...

etcd、kube-apiserver、kube-controller-manager和kube-scheduler有什么区别

在我们部署K8S集群的时候 初始化master节点之后&#xff08;在master上面执行这条初始化命令&#xff09; kubeadm init --apiserver-advertise-address10.0.1.176 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.16.0 --service…...

每日一题 LCR 057. 存在重复元素 III

LCR 057. 存在重复元素 III 滑动窗口二分查找 有序集合 有lower_bound(num) ,可以找到第一个大于其的数字 class Solution { public:bool containsNearbyAlmostDuplicate(vector<int>& nums, int k, int t) {set<long> win;for(int i0;i<nums.size();i){a…...

使用IDEA编写测试用例,复杂度校验

最近我们公司要求开发人员必须写测试用例&#xff0c;组织了TDD培训&#xff0c;测试驱动开发&#xff0c;同时衡量代码的圈复杂度&#xff0c;我记录下初次使用的过程。 编写测试用例&#xff0c;查看用例覆盖度 1、要编写测试用例&#xff0c;并看下测试用例的覆盖度&#…...

搭建私有云存储

1、安装LNMP环境 yum install nginx -y yum install -y nginx mariadb-server php php-fpm php-mysqlnd systemctl restart nginx.service --- 启动Nginx systemctl start mariadb.service ---启动数据库 mysql -e create database lxdb character set utf8 ---创建数据库 my…...

【从零开始的LeetCode-算法】3304. 找出第 K 个字符 I

Alice 和 Bob 正在玩一个游戏。最初&#xff0c;Alice 有一个字符串 word "a"。 给定一个正整数 k。 现在 Bob 会要求 Alice 执行以下操作 无限次 : 将 word 中的每个字符 更改 为英文字母表中的 下一个 字符来生成一个新字符串&#xff0c;并将其 追加 到原始的…...

深入解析分布式遗传算法及其Python实现

目录 深入解析分布式遗传算法及其Python实现目录第一部分:分布式遗传算法的背景与原理1.1 遗传算法概述1.2 分布式遗传算法的引入1.3 分布式遗传算法的优点与挑战优点:挑战:第二部分:分布式遗传算法的通用Python实现2.1 基本组件的实现第三部分:案例1 - 基于多种交叉与变异…...

gitee:创建仓库,存入本地文件至仓库

一、git下载 git:下载与安装-CSDN博客https://blog.csdn.net/weixin_46001736/article/details/144107485?sharetypeblogdetail&sharerId144107485&sharereferPC&sharesourceweixin_46001736&spm1011.2480.3001.8118 二、创建仓库 1、主页面->右上角新增…...

计算分数的浮点数值

计算分数的浮点数值 C语言代码C 代码Java代码Python代码 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 两个整数a和b分别作为分子和分母&#xff0c;既分数 a/b &#xff0c;求它的浮点数值&#xff08;双精度浮点数&#xff0c;保留小数点…...

在 C/C++ 中,volatile 关键字的作用是什么?.volatile 关键字与 const 关键字有什么区别?

volatile关键字用于告诉编译器&#xff0c;被修饰的变量可能会被程序以外的因素&#xff08;如硬件、操作系统等&#xff09;修改&#xff0c;因此每次访问该变量时都应该从内从中读取他的值&#xff0c;而不是使用可能存在的缓存之&#xff0c;这在多线程编程&#xff0c;与硬…...

golang debug调试

1. 本地调试 1&#xff1a;Add Configurations 添加配置文件&#xff08;Run kind &#xff1a;Directory&#xff09; 2&#xff1a;进入run运行窗口 3&#xff1a;debug断点调试模式 1. Resume Program (继续运行) 图标: ▶️ 或 ► 快捷键: F9&#xff08;Windows/Linux&a…...

自动化运维(k8s)之微服务信息自动抓取:namespaceName、deploymentName等全解析

前言&#xff1a;公司云原生k8s二开工程师发了一串通用性命令用来查询以下数值&#xff0c;我想着能不能将这命令写成一个自动化脚本。 起初设计的 版本一&#xff1a;开头加一条环境变量&#xff0c;执行脚本后&#xff0c;提示输入&#xff1a;需要查询的命名空间&#xff0c…...

07 初始 Oracle 优化器

查询优化器&#xff0c;简称优化器&#xff0c;是数据库最核心的组件之一。我们在这个系列的第一篇文章中已经给大家介绍了&#xff0c;优化器会参与到SQL语句的解析过程中&#xff0c;用来生成SQL语句的执行计划&#xff0c;直接决定SQL语句执行性能的优劣。 什么是执行计划 …...

Java对象与XML互相转换(xstream)

依赖 <dependency><groupId>com.thoughtworks.xstream</groupId><artifactId>xstream</artifactId><version>1.4.18</version></dependency> 实体类 package com.itheima.util;import lombok.AllArgsConstructor; import lom…...

一键生成唯美动漫图:ComfyUI-tPonynai详细搭建教程

tPonynai 是在 C 站上开源的动漫风格扩散模型&#xff0c;与其他基础大模型一样&#xff0c;只需要输入适当的正面和负面提示词就能够实现动漫图片的生成。截至目前已经有 12.9k 的下载量&#xff0c;生成效果也非常不错。本文将介绍ComfyUI-tPonynai在算家云搭建以及本地部署的…...

C++设计模式(工厂模式)

一、介绍 1.动机 在软件系统中&#xff0c;经常面临着创建对象的工作&#xff0c;这些对象有可能是一系列相互依赖的对象&#xff1b;由于需求的变化&#xff0c;需要创建的对象的具体类型经常变化&#xff0c;同时也可能会有更多系列的对象需要被创建。 如何应对这种变化&a…...

多阶段报童问题动态规划求解,Python 实现

使用 python 编写了多阶段报童模型的动态规划算法。 使用了 python 的装饰器 dataclass &#xff0c;方便定义类尝试使用并行计算&#xff0c;没有成功&#xff0c;极易出错。动态规划中使用并行计算&#xff0c;还是挺有挑战的&#xff1b;而且并行计算不一定总是比非并行运算…...

【C++进阶篇】像传承家族宝藏一样理解C++继承

文章目录 须知 &#x1f4ac; 欢迎讨论&#xff1a;如果你在学习过程中有任何问题或想法&#xff0c;欢迎在评论区留言&#xff0c;我们一起交流学习。你的支持是我继续创作的动力&#xff01; &#x1f44d; 点赞、收藏与分享&#xff1a;觉得这篇文章对你有帮助吗&#xff1…...

Java基础面试题09:Java异常处理完成以后,Exception对象会发生什么变化?

一、Java异常&#xff08;Exception&#xff09;基本概念 什么是异常&#xff1f; 简单来说&#xff0c;异常就是程序运行时发生了意外的“错误”或者“不正常现象”&#xff0c;导致程序中断。异常处理的目标是让程序在出现问题时能稳住&#xff0c;不会直接崩溃。 1.1 异常…...

mysql sql语句 between and 是否边界值

在 MySQL 中&#xff0c;使用 BETWEEN 运算符时&#xff0c;边界值是包括在内的。这意味着 BETWEEN A AND B 查询会返回 A 和 B 之间的所有值&#xff0c;包括 A 和 B 自身。 示例 假设有一个表 employees&#xff0c;其中有一个 salary 列&#xff0c;您可以使用以下查询&am…...

Java接收LocalDateTime、LocalDatee参数

文章目录 引言I java服务端的实现1.1 基于注解规范日期格式1.2 json序列化和反序列化全局配置自动处理日期格式化II 知识扩展: 枚举的转换和序列化III 签名注意事项引言 应用场景举例:根据时间段进行分页查询数据 前后端交互日期字符串统一是yyyy-MM-dd HH:mm:ss 或者yyyy-M…...

方差分析、相关分析、回归分析

第一章&#xff1a;方差分析 1.1 方差分析概述 作用: 找出关键影响因素&#xff0c;并进行对比分析&#xff0c;选择最佳组合方案。影响因素: 控制因素&#xff08;人为可控&#xff09;和随机因素&#xff08;人为难控&#xff09;。控制变量的不同水平: 控制变量的不同取值…...

SQLModel入门

SQLModel 系统性指南 目录 简介 什么是 SQLModel&#xff1f;为什么使用 SQLModel&#xff1f; 安装快速入门 定义模型创建数据库和表 基本 CRUD 操作 创建&#xff08;Create&#xff09;读取&#xff08;Read&#xff09;更新&#xff08;Update&#xff09;删除&#xff0…...

单片机蓝牙手机 APP

目录 一、引言 二、单片机连接蓝牙手机 APP 的方法 1. 所需工具 2. 具体步骤 三、单片机蓝牙手机 APP 的应用案例 1. STM32 蓝牙遥控小车 2. 手机 APP 控制 stm32 单片机待机与唤醒 3. 智能家居系统 4. 智能记忆汽车按摩座椅 四、单片机蓝牙手机 APP 的功能 1. 多种控…...

PostgreSQL在Linux环境下的常用命令总结

标题 登录PgSQL库表基本操作命令新建库表修改库表修改数据库名称&#xff1a;修改表名称修改表字段信息 删除库表pgsql删除正在使用的数据库 须知&#xff1a; 以下所有命令我都在Linux环境中执行验证过&#xff0c;大家放心食用&#xff0c;其中的实际名称换成自己的实际名称即…...

Unity shaderlab 实现LineSDF

实现效果&#xff1a; 实现代码&#xff1a; Shader "Custom/LineSDF" {Properties{}SubShader{Tags { "RenderType""Opaque" }Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct appdata{floa…...

武汉网站制作迈佳/免费好用的crm软件

最近购物节一波接一波&#xff0c;往常家里的孩子总嚷嚷着要买玩具&#xff0c;但这段时间却吵着要买球&#xff1f;到底是咋了&#xff1f;原来&#xff0c;最近有一档节目风靡全网&#xff0c;尤其是孩子们都成了“忠实粉丝”&#xff0c;收视率期期第一&#xff0c;它就是金…...

建设网站的企业邮箱网站建设服务/新闻头条 今天

HTML5提供了许多新接口&#xff0c;其中最令人振奋的无疑是Websocket。正是它的存在令网络双向交互得以实现。使用Websocket对于客户端来说无疑十分简单。websocket提供了三个简单的函数&#xff0c;onopen,onclose以及onmessage&#xff0c;顾名思义&#xff0c;他们分别监听s…...

景观设计公司理念/南宁百度seo排名优化

假设都不太安全&#xff0c;但是我很确信如果我大声宣布小孩爱玩具&#xff0c;你一定就会同意了。是的&#xff0c;他们也喜欢卡通。现在又出现了一个趋势就是&#xff1a;他们还喜欢iPad。有人说这曾是2010年出现的新玩具Y Combinator下63家企业中的一个新创业公司今天出来鸟…...

番禺建设网站外包/东莞百度搜索网站排名

2019独角兽企业重金招聘Python工程师标准>>> 腰椎间盘突出我是L45号&#xff0c;左腿发麻有时疼痛&#xff0c;腰开始只是酸痛&#xff0c;因为是在外地打工怕家里担心&#xff0c;有胆小&#xff0c;周末百度了下就去了医院。还好当时着的是三家公立医院&#xff0…...

做网站前台后台是怎么连接的/北大青鸟培训机构官网

【记录】ASP&period;NET IIS ISAPI&lowbar;Rewrite下载地址(Lite 免费版):Download ISAPI_Rewrite 3 配置(导入自定义 httpd.ini 文件): IIS ISAPI 筛选器(不需要重写的站点可以移除): 参考资料: 主 ...数据库连接JDBC和数据库连接池C3P0自定义的java封装类数据库连接J…...

江苏网站建设官网/网站排名推广

一&#xff0c;按键的按下抬起等识别方法 void Update (){int key1 0;int key2 0;if (Input.GetKeyDown (KeyCode.A)){Debug.Log("A按下一次");} if (Input.GetKey (KeyCode.A)){//记录按下的帧数&#xff0c;判断特定按键按下不抬起key1;Debug.Log("A连按…...