在前端开发中,跨站脚本攻击(XSS)是一种常见的安全威胁。本文将介绍前端跨站脚本攻击(XSS)的场景以及在Vue.js框架中如何处理XSS的方法。通过了解这些内容,我们可以更好地保护前端应用程序的安全性,防止恶意攻击。
一个开箱即用的Vue.js插件,可通过简单的方式防止XSS攻击
npm i vue-xss 或 yarn add vue-xss
// main.js
import VueXss from 'vue-xss'
Vue.use(VueXss)
<!-- *.vue -->
<div v-html="$xss(content)"></div>
// mani.js
var options = {
// 默认白名单参考 xss.whiteList
whiteList: {
a: ['href', 'style'],
img: ['src', 'alt'],
...
},
stripIgnoreTag: true, // 去掉不在白名单上的标签 true:去掉不在白名单上的标签
stripIgnoreTagBody: ['script', 'style'] // 去掉不在白名单上的标签及标签体 ['tag1', 'tag2']:仅去掉指定的不在白名单上的标签
onTagAttr: function () {
// todo
},
...
}
import VueXss from 'vue-xss'
Vue.use(VueXss, options)
<!-- *.vue -->
<template>
<div v-html="$xss(content)"></div>
<!-- 过滤后输出:<iframe></iframe> -->
<template>
<script>
export default {
data () {
return{
content: '<iframe onload=alert("XSS-TEST")></iframe>'
}
},
...
}
</script>
在vue方法中使用:
methods: {
async getInfo(){
let _req = {
name: this.$xss(this.name),
age: this.$xss(this.age),
...
};
// 模拟向后台请求接口
let res = await getInfo(_req ){
}
}
}
文章浏览阅读3.2k次。Dubbo 通过注册中心在分布式环境中实现服务的注册与发现,而注册中心通常采用 ZooKeeper,研究注册中心相关源码绕不开 ZooKeeper,所以学习了 ZooKeeper 的基本概念以及相关 API 操作。ZooKeeper 相关概念session客户端与服务端采用 TCP 长连接,服务端在为客户端创建 Session 会分配一个唯一 sessionId。在 Session timeout..._zk 实例失效时间
文章浏览阅读332次。本文记录下那些计算机视觉中的数据集,以供需要时参考。一、用于背景/前景分割、运动目标检测的数据集CDnet 2012CDNet 2014CDW-201(https://www.csdn.net/tags/OtDaUgwsNDEyNTUtYmxvZwO0O0OO0O0O.html)_cdw-2014
文章浏览阅读557次。机器人也有感情还记得王传君饰演的《星语心愿之再爱》这部电影吗?王传君饰演的天才程序员“王鹏鹏”因工作原因不能陪伴照顾身在异地的女朋友“林亦男”,呆萌宅男“王鹏鹏”开发出一款以自己为原型的“王鹏鹏8.0”程序去陪伴异地恋的女友,后来王鹏鹏过世了,亦男现任男友却发现自己的未婚妻居然和王鹏鹏的替代品谈恋爱,情敌居然是一个电脑程序由爱生恨。没看过的小可爱可以自己去看一下。不得不是,小猿我是非常羡慕这种纯粹..._机器人微信女
文章浏览阅读486次。基本概念存储过程其实就是一组用于完成特定数据库功能的SQL语句集,在日常中大量使用,它被编译后存储在数据库中,根据定义的存储过程名称来调用并执行,从而完成复杂的数据库操作。优点1.存储过程使一些复杂的数据库操作与代码直接分离,便于扩展和维护,也提高了数据的安全性。2.存储过程可以重复利用,只需要带不同的参数即可,提高了程序的性能。3.存储过程执行效率高,只需要在创建的时候编译,以后每次执..._oracle存储过程的创建和使用
文章浏览阅读476次,点赞4次,收藏7次。基于python在线商品购物系统 商品推荐系统 Flask框架(附源码)_购物平台源代码
文章浏览阅读529次。该楼层疑似违规已被系统折叠隐藏此楼查看此楼考试题目中有2题程序题,老师给出程序,我们写出结果,可是我家里没有 JAVA,无法做,求有JAVA的朋友帮忙看下,运行结果是什么(1)public class Exam{public static void main(String[] args){int mm;int array[] = {30,81,37,45,26,46,44,78,80,64};S..._2.定义三个方法,分别接收 aa bb cc请求效果:
文章浏览阅读1k次。一、概念正向代理正向代理最大的特点是客户端非常明确要访问的服务器地址。服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式屏蔽或者隐藏了真实客户端信息。总结 始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的_–no-header
文章浏览阅读206次。时间计算stm32f103c8t6时钟72M,进行7200分频得到1M信号,1M信号每计数5000进行一次跳变,频率为1hz,周期为1s。该工程配置时晶振选用的无源晶振,第二篇LED的配置中晶振为有源晶振,请读者在配置自己的工程时注意。该程序程序实现LED的翻转,每500ms跳变一次,周期为1S。2.配置毫秒定时器,定时时间500ms。1.配置LED引脚,参考第一篇。1.修改user.c代码如下。3.开启定时器更新中断。_stm32cubemx怎么生成tim.c
文章浏览阅读1.7w次,点赞26次,收藏33次。软件安装包版本包含stk9.2,stk10,stk11.01,stk11.6。都可与matlab进行互联仿真。stk11.6包含官方各种附加模块,如EOIR,Analyzer,Schedule等等,同时可以用其他软件调用stk进行实时界面显示。同时本人承接stk仿真, matlab 与stk 互联仿真, matlab, GUI等方面项目,可以在咸鱼或添加微信私聊,也可以看博客其他内容介绍..._stk11 软件下载地址
文章浏览阅读47次。重做日志是由一组物理文件组成的,这些文件被称为重做日志文件组。这样,在数据库发生故障时,可以使用重做日志文件来恢复数据库到故障发生前的状态。重做日志的作用在于保证数据库的一致性和持久性,以及在数据库发生故障时,可以使用重做日志来恢复数据库到故障发生前的状态。总之,非CDB环境下的数据库实例是一种传统的单租户数据库实例,虽然不能实现多租户功能,但在一些特定的场景下,仍然具有一定的应用价值。Oracle数据库的重做日志(Redo Log)是一种记录数据库所有修改操作的机制,它可以保证数据库的持久性和一致性。
文章浏览阅读4.5k次,点赞3次,收藏13次。public class FileTimeInfo { public string FileName; //文件名 public DateTime FileCreateTime; //创建时间 } /// /// 获取最新文件名 /// /// 路径 /// 后缀名_c# getdirectories查今天更新的文件
文章浏览阅读1.9k次,点赞5次,收藏31次。实现微信界面的跳转功能——多个Fragment之间的跳转实现原理1、创建4个自定义Fragment类继承自Fragment,并且创建对应的布局文件,之后在Fragment类文件内部加载布局文件 @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { retu_动态创建fragment实现微信页面切换