一种防止全局越权的方法及装置制造方法及图纸

技术编号:39002564 阅读:12 留言:0更新日期:2023-10-07 10:34
本申请提供一种防止全局越权的方法,该方法包括:获取客户端发送的请求和第一校验码,请求中包含请求时间戳;对比请求时间戳与服务端的请求接收时间戳;在请求时间戳与请求接收时间戳的第一差值小于预设阈值的情况下,加密请求,得到第二校验码;对比第一校验码与第二校验码;在第一校验码与第二校验码相同的情况下,确认请求有效。本申请通过统一的安全校验拦截处理,并通过时间戳的校验以及校验码的校验双重校验,可以有效地以校验出在请求过程中的篡改数据,达到防止全局越权的目的。达到防止全局越权的目的。达到防止全局越权的目的。

【技术实现步骤摘要】
一种防止全局越权的方法及装置


[0001]本申请涉及数据安全领域,尤其涉及一种防止全局越权的方法及装置。

技术介绍

[0002]在B/S模式架构系统中,水平越权和垂直越权是较为常见和严重的安全问题。
[0003]例如:通过拦截http请求,对提交的数据进行修改,造成脏数据或修改了他人数据;
[0004]例如:在得知了一个高权限的rest接口地址后,通过http请求工具访问此地址,形成低权限用户使用了高权限用户的功能。
[0005]对于垂直越权,一般按菜单、按钮等颗粒度定义权限和分配,但这种方式在低耦合高内聚的微服务环境下尤为困难。
[0006]对于水平越权,一般在提交数据后,在系统里针对性的再次判断操作人和被操作数据的权限匹配度。这种方式比较安全,但需要分散在各服务模块独自处理,而且处理起来比较繁琐。
[0007]有鉴于此,提出了本专利技术,以至少部分地解决现有技术中存在的技术问题。

技术实现思路

[0008]本申请提供一种防止全局越权的方法及装置,用以解决现有技术中,对垂直越权的处理方式不适用微服务环境,以及对水平越权的处理方式繁琐,占用运算资源的技术问题。
[0009]根据本申请的第一方面,提供一种防止全局越权的方法,该方法包括:
[0010]获取客户端发送的请求和第一校验码,请求中包含请求时间戳;
[0011]对比请求时间戳与服务端的请求接收时间戳;
[0012]在请求时间戳与请求接收时间戳的第一差值小于预设阈值的情况下,加密请求,得到第二校验码;
[0013]对比第一校验码与第二校验码;
[0014]在第一校验码与第二校验码相同的情况下,确认请求有效。
[0015]优选的,客户端登录服务端时,客户端的登录时间戳与登录返回服务端的时间戳之间的差值为第二差值;请求时间戳基于客户端发送请求时的时间戳与第二差值得到。
[0016]优选的,请求还包括请求地址、请求参数、token以及菜单ID,在请求时间戳与请求接收时间戳的第一差值小于预设阈值的情况下,加密请求,得到第二校验码,包括:
[0017]将请求地址、请求参数、token、请求时间戳以及菜单ID按照固定规则进行排列拼接,得到初始明文,其中,请求参数中的业务数据按照预设规则进行排列拼接;
[0018]利用正则表达式去掉初始明文中的特殊字符,得到目标明文;
[0019]加密目标明文,得到第二校验码。
[0020]优选的,请求参数中的业务数据按照预设规则进行排序拼接包括:
[0021]将请求参数中的业务数据的键按照正序排列或倒序排列后,拼接业务数据的键对应的值。
[0022]优选的,客户端通过加密请求得到第一校验码,且客户端加密请求得到第一校验码的加密规则与服务端加密请求得到第二校验码的加密规则相同。
[0023]优选的,该方法还包括:
[0024]基于token以及菜单ID,读取客户端的功能权限集合;
[0025]在读取到客户端的功能权限集合的情况下,匹配请求地址与功能权限集合;
[0026]在请求地址与功能权限集合相匹配的情况下,确定请求的功能权限有效。
[0027]优选的,该方法还包括:
[0028]在请求时间戳与请求接收时间戳的第一差值超过预设阈值或第一校验码与第二校验码不同的情况下,确认请求无效。
[0029]优选的,该方法还包括:
[0030]在未读取到客户端的功能权限集合或请求地址与功能权限集合不相匹配的情况下,确认请求超出其功能权限。
[0031]根据本专利技术的第二方面,提供一种防止全局越权的装置,该装置包括:
[0032]获取模块,用于获取客户端发送的请求和第一校验码,请求中包含请求时间戳;
[0033]第一对比模块,用于对比请求时间戳与服务端的请求接收时间戳;
[0034]加密模块,用于在请求时间戳与请求接收时间戳的第一差值小于预设阈值的情况下,加密请求,得到第二校验码;
[0035]第二对比模块,用于对比第一校验码与第二校验码;
[0036]第一确定模块,用于在第一校验码与第二校验码相同的情况下,确认请求有效。
[0037]优选的,客户端登录服务端时,客户端的登录时间戳与登录返回服务端的时间戳之间的差值为第二差值;请求时间戳基于客户端发送请求时的时间戳与第二差值得到。
[0038]优选的,加密模块,用于:
[0039]将请求地址、请求参数、token、请求时间戳以及菜单ID按照固定规则进行排列拼接,得到初始明文,其中,请求参数中的业务数据按照预设规则进行排列拼接;
[0040]利用正则表达式去掉初始明文中的特殊字符,得到目标明文;
[0041]加密目标明文,得到第二校验码。
[0042]优先的,加密模块,用于:
[0043]将请求参数中的业务数据的键按照正序排列或倒序排列后,拼接业务数据的键对应的值。
[0044]优选的,客户端通过加密请求得到第一校验码,且客户端加密请求得到第一校验码的加密规则与服务端加密请求得到第二校验码的加密规则相同。
[0045]优选的,该装置还包括:
[0046]读取模块,用于基于token以及菜单ID,读取客户端的功能权限集合;
[0047]匹配模块,用于在读取到客户端的功能权限集合的情况下,匹配请求地址与功能权限集合;
[0048]第二确定模块,用于在请求地址与功能权限集合相匹配的情况下,确定请求的功能权限有效。
[0049]优选的,该装置还包括:
[0050]第三确定模块,用于在请求时间戳与请求接收时间戳的第一差值超过预设阈值或第一校验码与第二校验码不同的情况下,确认请求无效。
[0051]优先的,该装置还包括:
[0052]第四确定模块,用于在未读取到客户端的功能权限集合或请求地址与功能权限集合不相匹配的情况下,确认请求超出其功能权限。
[0053]根据本专利技术的第三方面,提供一种电子设备,电子设备包括:处理器以及存储有计算机程序指令的存储器;
[0054]处理器执行计算机程序指令时实现上述的任一种防止全局越权的方法。
[0055]根据本专利技术的第四方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现上述的任一种防止全局越权的方法。
[0056]综上所述,本申请提供的防止全局越权的方法及装置至少具有以下有益效果:
[0057]本申请提供一种防止全局越权的方法,该方法包括:获取客户端发送的请求和第一校验码,请求中包含请求时间戳;对比请求时间戳与服务端的请求接收时间戳;在请求时间戳与请求接收时间戳的第一差值小于预设阈值的情况下,加密请求,得到第二校验码;对比第一校验码与第二校验码;在第一校验码与第二校验码相同的情况下,确认请求有效。本申请通过统一的安全校验拦截处理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种防止全局越权的方法,其特征在于,包括:获取客户端发送的请求和第一校验码,所述请求中包含请求时间戳;对比所述请求时间戳与服务端的请求接收时间戳;在所述请求时间戳与所述请求接收时间戳的第一差值小于预设阈值的情况下,加密所述请求,得到第二校验码;对比所述第一校验码与所述第二校验码;在所述第一校验码与所述第二校验码相同的情况下,确认所述请求有效。2.根据权利要求1所述的防止全局越权的方法,其特征在于,所述客户端登录所述服务端时,所述客户端的登录时间戳与登录返回所述服务端的时间戳之间的差值为第二差值;所述请求时间戳基于所述客户端发送所述请求时的时间戳与第二差值得到。3.根据权利要求1所述的防止全局越权的方法,其特征在于,所述请求还包括请求地址、请求参数、token以及菜单ID,所述在所述请求时间戳与所述请求接收时间戳的第一差值小于预设阈值的情况下,加密所述请求,得到第二校验码,包括:将所述请求地址、所述请求参数、所述token、所述请求时间戳以及所述菜单ID按照固定规则进行排列拼接,得到初始明文,其中,所述请求参数中的业务数据按照预设规则进行排列拼接;利用正则表达式去掉所述初始明文中的特殊字符,得到目标明文;加密所述目标明文,得到第二校验码。4.根据权利要求1所述的防止全局越权的方法,其特征在于,所述请求参数中的业务数据按照预设规则进行排序拼接包括:将请求参数中的业务数据的键按照正序排列或倒序排列后,拼接所述业务数据的键对应的值。5.根据权利要求1所述的防止全局越权的方法,其特征在于,所述客户端通过加密所述请求得到第一校验码,且所述客户端加密所述请求得到第一校验码的加密规...

【专利技术属性】
技术研发人员:王亚平张智慧
申请(专利权)人:北京元年科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1