匹配规则
2021-05-26 16:42:45 4 举报
业务逻辑流程图
作者其他创作
大纲/内容
判断组件是否有漏洞
将后缀也放入对象中
使用正则将版本号拆开为数字和后面的后缀
含有特殊的后缀名字
通过设置全局map,将后缀定义好类型。如果匹配将后缀赋值
结束一次判断
不在区间该组件无漏洞,将组件放入集合中
方法如下
组件数字小于其他
返回true,当前版本严格小于另一个版本
直接返回false
继续比较
遍历组件库中的组件。然后再遍历中找出组件和漏洞对应关系。
循环比较各个位置的数字的到校
大于等于2
再写一个对比的方法
如果组件后缀权重小于其他后缀权重返回false
小于2
逗号后没有区间代表没有数据,直接结束循环
否则
代表在区间内,有漏洞直接返回true
将数字拼接起来放入数组
代表正常,继续判断组件是否在区间内
如果等于
比较后缀,设置后缀权重都设为3
没比较出来
写一个方法将版本号转为规定的格式
遍历每个区间并遍历
直接返回true
用逗号隔开区间并判断该区间的长度
长度小于2
组件数字大于其他
如果组件后缀权重小于其他后缀权重返回true
判断是否在区间内部
比较组件的对应对象的数组长度和范围对应的数组的长度
如果不等于
获取到数组长度
大于
将漏洞中的版本好拆开。获取到各个版本号的区间。
小于
判断左右区间是否为闭区间,并且当前组件的版本值是否等于该值
判断拆开后该数组长度是否大于2
遍历下一个组件
长度大于2
在区间内该组见有漏洞
比较组件的后缀版本和边界的后缀版本
只有数字版本,放到数组中
大于左值并(右值为空或小于右值)
继续判断是否在区间内
继续比较数字个数
修改长度改为大的
0 条评论
回复 删除
下一页