当前位置:网站首页>正则过滤字符串中 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>'
边栏推荐
- 智慧场馆的无人值守怎么做?
- Hubei Mobile HG680-LV_S905L3B_wire brush firmware package
- 移动海信IP102H_905L3-B_线刷固件包
- 机器学习(十):朴素贝叶斯
- 【图像分类】2021-DeiT
- How to convert an int attribute into a string in the json format returned by the Go language gin framework?
- 机器学习(十六):主成成分分析(PCA)
- Compose 类型稳定性注解:@Stable & @Immutable
- AtCoder Beginner Contest 262 部分题解
- 最小区间覆盖
猜你喜欢
随机推荐
机器学习(十六):主成成分分析(PCA)
taro 滚动组件ScrollView
移动平台助力推进智慧型科研院所信息化建设
R语言使用yardstick包的gain_curve函数评估多分类(Multiclass)模型的性能、查看模型在多分类每个分类上的增益(gain)曲线(gain curve)
开一个羽毛球馆大概需要多少钱?大约15万左右可以搞定!
水能自发变成“消毒水”,83岁斯坦福教授:揭示冬天容易得流感的部分原因...
服装店如何利用好积分?
LeetCode 每日一题——1403. 非递增顺序的最小子序列
谷歌开发者社区推荐:《Jetpack Compose 从入门到实战》新书上架,带你踏上 Compose 开发之旅~
Go语言gin框架返回json格式里,怎么把某个int属性转成string返回?
软件基础的理论
ES中同时使用should和must导致只有must生效解决方案
LeetCode 0167. 两数之和 II - 输入有序数组
西西成语接龙小助手
Boost库学习笔记(一)安装与配置
JVM内存和垃圾回收-08.方法区
一张图片怎么旋转90度。利用ps
海报 | 夏季高温,危化品安全风险的注意事项必须get!
JSP 标准标签库(JSTL)[通俗易懂]
图扑软件与华为云共同构建新型智慧工厂








