栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

前端js实现字符转义和反转义

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

前端js实现字符转义和反转义

什么是XSS?

XSS攻击又称为跨站脚本,XSS的重点不在于跨站点,而是在于脚本的执行。XSS是一种经常出现在Web应用程序中的计算机安全漏洞,是由于Web应用程序对用户的输入过滤不足而产生的,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。

举个栗子: 在数据库中写入一段代码,然后前端通过请求等方式获取到这段代码在页面中渲染,访问页面时就会被执行,浏览器就会弹出1的弹窗,这就最简单的XSS攻击。

怎么避免XSS?

前端处理: 使用字符转义,将’<‘、’>'等字符进行转义<、>

后端处理: 也是一样的道理,将相关的字符给转义,就可以避免XSS

字符转义(解决XSS)

直接调用下面的htmlEscape(‘’)方法,就可以过滤掉存在XSS风险的相关字符:

function htmlEscape(str) { //字符转义
	var escapesMap = {
			'<': '<',
			'>': '>',
			'"': '"',
			"'": '''
		},
		reUnescapedHtml = new RegExp(/[<>"']/g);
	return (str && reUnescapedHtml.test(str)) ? str.replace(reUnescapedHtml, function(chr) {
		return escapesMap[chr];
	}) : (str || "");
}
字符反转义

有时候在写逻辑的时候,可能需要反转义,就用下面的htmlUnEscape方法:

function htmlUnEscape(str) { //反转义
	var unescapes = {
			'&': '&',
			'<': '<',
			'>': '>',
			'"': '"',
			''': "'"
		},
		reEscapedHtml = new RegExp(/&(?:amp|lt|gt|quot|#39);/g);
	return (str && reEscapedHtml.test(str)) ? str.replace(reEscapedHtml, function(entity) {
		return unescapes[entity];
	}) : (str || '')
}
如果有帮助,可以点赞+收藏+关注,后续有更多知识与您分享!!! 欢迎加入QQ技术群:568984539,加群备注‘地区-名字-技术类型’,以防乱加。 关于本文,如果任何疑问的可以在评论区留言,我看到就会第一时间回复的。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1013454.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号