当前位置:网站首页>正则过滤字符串中 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>'
边栏推荐
- 咪咕MGV2000KL南传_S905L3B_MT7668线刷固件包
- 嵌入式系统驱动初级【6】——内核定时器
- 移动百事通BesTV_R3300-L_S905L_8189_线刷固件包
- icu是哪个国家的域名?icu是什么域名?
- win11如何退出安全模式
- 越来越火的图数据库到底能做什么?
- Mobile magic box CM211-1_YS foundry _S905L3B_RTL8822C_wire brush firmware package
- 机器学习(十九):梯度提升回归(GBR)
- Hubei Telecom Tianyi TY1608_S905L3B_MT7668_ card brush firmware package
- Unity Apple登录接入
猜你喜欢
随机推荐
北京海淀6家必胜客被暂停外卖订餐 存在食品安全问题
【商家联盟】云平台—异业联盟,打造线上线下商业相结合的系统
机器学习(十八):随机搜索和XGBoost
88.(cesium之家)cesium聚合图
码蹄集 - MT2165 - 小码哥的抽卡之旅1
学习探索-给字体设置前景色
shell脚本详解 --------循环语句之for循环
机器学习(十六):主成成分分析(PCA)
LeetCode 每日一题——1403. 非递增顺序的最小子序列
SAP ABAP SteammPunk 蒸汽朋克的最新进展 - 嵌入式蒸汽朋克
R语言使用cov函数计算矩阵或者dataframe数据变量之间的协方差、cor函数计算相关性、cor函数通过method参数指定相关性、相关性计算方法Pearson,Spearman, Kendall
WEB 渗透之越权
15 days to upgrade to fight monsters and become a virtual fashion creator
Minecraft HMCL 使用认证服务器LittleSkin进行登录
icu是哪个国家的域名?icu是什么域名?
西西成语接龙小助手
如何模拟后台API调用场景,很细!
Go语言gin框架返回json格式里,怎么把某个int属性转成string返回?
机器学习(十四):K均值聚类(kmeans)
SAP 电商云 Spartacus UI SSR 单元测试里的 callFake









