当前位置:网站首页>正则过滤字符串中 script 标签
正则过滤字符串中 script 标签
2022-08-04 16:59:00 【xggllc】
最近刚好用到模板字符串相关的编辑功能,记录一下。
需求是 模板字符串中不允许出现<script> 标签、不允许有javascript: 和 .js 文件引用,
主要方法如下:
clearScriptTag (str) {
const reg = /<script[^>]*>([\S\s]*?)<\/script>/gim;
// 清除标签内 相关 xss 安全代码
const reg1 = /javascript:/gim;
const reg2 = / *.js/gim;
if (reg.test(str)) {
str = str.replace(reg, '');
this.$message.error('非法标签 <script> 已被替换为空');
}
if (reg1.test(str)) {
str = str.replace(reg1, '');
this.$message({
message: '非法代码javascript:已被替换为空',
type: 'error',
offset: 60
});
}
if (reg2.test(str)) {
str = str.replace(reg2, '');
this.$message({
message: '非法*.js已被替换为空',
type: 'error',
offset: 100
});
}
return str;
},
测试:
// 输入字符串为:
let str = '<div>
<span>测试文字</span>
</div>
<script>asdfasdfs</script>
<script></script>
<a></a>
<script>asdfasdfs sdf234 asd fasdfs</script>
<script>asdfasdfs sdf234 asd fa
sdfs</script>
<span src:"javascript:aaa//xx.js">测试文字</span>
<span src:"javascript:aaa//xaaax.js">测试文字</span>
<span src:"javascript:aaa//xx.js">javascript:aaa//xx.js</span>'
// 过滤后字符串为:
'<div>
<span>测试文字</span>
</div>
<a></a>
<span src:"aaa//xx">测试文字</span>
<span src:"aaa//xaaax">测试文字</span>
<span src:"aaa//xx">aaa//xx</span>'
边栏推荐
猜你喜欢
随机推荐
电气成套设备行业如何借助ERP系统,解决企业管理难题?
海报 | 夏季高温,危化品安全风险的注意事项必须get!
SRM Supplier Collaborative Management System Function Introduction
小满nestjs(第一章 介绍nestjs)
化学制品制造业数智化供应链管理系统:打造智慧供应体系,赋能企业产效提升
8月5日,麒麟信安邀您相约鲲鹏开发者创享日·长沙站!
SAP 电商云 Spartacus UI SSR 里 engine 和 engine instance 的区别
Hubei Mobile HG680-LV_S905L3B_wire brush firmware package
Hubei Telecom Tianyi TY1608_S905L3B_MT7668_ card brush firmware package
跨链桥已成行业最大安全隐患 为什么和怎么办
不需要服务器,教你仅用30行代码搞定实时健康码识别
泰坦尼克号沉船数据之美——起于悲剧,止于浪漫
WEB 渗透之逻辑漏洞
学习探索-给字体设置前景色
开一个羽毛球馆大概需要多少钱?大约15万左右可以搞定!
response的contentType 几种类型
"Distributed cloud best practices" BBS, on August 11, shenzhen
移动CM101s_MV100_EMMC_M8233_强刷后全分区线刷固件包
Minecraft 我的世界 .minecraft下的各个文件夹的用处
JVM内存和垃圾回收-08.方法区