当前位置:网站首页>正则过滤字符串中 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>'
边栏推荐
- SRM Supplier Collaborative Management System Function Introduction
- Hubei Telecom Tianyi TY1608_S905L3B_MT7668_ card brush firmware package
- 谷歌开发者社区推荐:《Jetpack Compose 从入门到实战》新书上架,带你踏上 Compose 开发之旅~
- 湖北移动中兴B860AV2.1_S905L_线刷固件包
- 咪咕MGV2000KL南传_S905L3B_MT7668线刷固件包
- 湖北电信天邑TY1608_S905L3B_MT7668_卡刷固件包
- ping不通百度
- 15 days to upgrade to fight monsters and become a virtual fashion creator
- 越来越火的图数据库到底能做什么?
- 《分布式云最佳实践》分论坛,8月11日深圳见
猜你喜欢
随机推荐
不需要服务器,教你仅用30行代码搞定实时健康码识别
WEB 渗透之XXE&XML
18 Data Collection Analysis
win11如何退出安全模式
提高图片清晰度的快速方法?
移动CM101s_MV100_EMMC_M8233_强刷后全分区线刷固件包
机器学习(十七):网格搜索(Grid Search)和SVM
湖北电信天邑TY1608_S905L3B_MT7668_卡刷固件包
RTL8762DK 远端设备配对
域名哪家便宜?怎么买便宜域名?
接口测试项目(非常值得练手)
8月5日,麒麟信安邀您相约鲲鹏开发者创享日·长沙站!
【图像分类】2021-DeiT
Mobile zte ZXV10 B860AV2. 1 - A_S905L2_MT7668_ wire brush the firmware package
电气成套设备行业如何借助ERP系统,解决企业管理难题?
R语言使用yardstick包的gain_curve函数评估多分类(Multiclass)模型的性能、查看模型在多分类每个分类上的增益(gain)曲线(gain curve)
Cesium快速上手0-Cesium安装与基本介绍
WEB 渗透之逻辑漏洞
开一个羽毛球馆大概需要多少钱?大约15万左右可以搞定!
R语言使用cov函数计算矩阵或者dataframe数据变量之间的协方差、cor函数计算相关性、cor函数通过method参数指定相关性、相关性计算方法Pearson,Spearman, Kendall








