在渗透测试中发现当在输入框中输入js脚本后,会在浏览器中执行,这就造成了XSS(跨站脚本攻击),因此要对代码进行加固。下面以vue环境为例,介绍下修复该漏洞的方式:

// 一、执行依赖
npm install xss -save

// 二、在main.js中引入
import xss from 'xss';

// 三、定义全局xss方法
Object.defineProperty(Vue.prototype, '$xss', {
	value: xss
})

// 四、针对需要渲染的页面,调用$xss()方法即可生效
<span v-html="$xss(content, options)"></span>
// 例:若想对内容中的span标签及标签的class属性不进行拦截,则需对方法中的options做如下配置:
data() {
	return {
		// xss白名单处理
		options: {
			whiteList: {
				span: ['class']
			}
		}
	}
}
// 注:whiteList可配置多种标签
// 如:a: ["target", "href", "title"], img: ["src", "alt", "title", "width", "height"]等...
GitHub 加速计划 / vu / vue
82
16
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:4 个月前 )
9e887079 [skip ci] 3 个月前
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> 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐