当前位置:网站首页>正则过滤字符串中 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>'
边栏推荐
猜你喜欢
随机推荐
Go语言gin框架返回json格式里,怎么把某个int属性转成string返回?
移动平台助力推进智慧型科研院所信息化建设
SAP 电商云 Spartacus UI 页面布局的设计原理
化学制品制造业数智化供应链管理系统:打造智慧供应体系,赋能企业产效提升
华为云数据治理生产线DataArts,让“数据‘慧’说话”
学习探索-网站中引入百度统计
Codeforces Round #811 (Div. 3)
AtCoder Beginner Contest 262 部分题解
taro 滚动组件ScrollView
15 days to upgrade to fight monsters and become a virtual fashion creator
icu是哪个国家的域名?icu是什么域名?
力拓信创生态,博睿数据多款产品获得东方通与达梦数据库产品兼容互认证明
码蹄集 - MT2094 - 回文之时:第4组数据错误
dotnet core 隐藏控制台
吃透Chisel语言.32.Chisel进阶之硬件生成器(一)——Chisel中的参数化
WEB 渗透之SSTI 模板注入
WEB 渗透之XXE&XML
抖音最重要的接口——item_search_video-根据关键词获取视频列表
Hubei Mobile ZTE B860AV2.1_S905L_ flash firmware package
WEB 渗透之越权