本发明专利技术提供一种HTTP接口访问权限验证方法、系统、及服务器,其中,方法包括:在服务器中新建一缓存;从预设的数据库中同步基础数据至缓存,且将基础数据根据同步TreeMap数据结构进行存储;接受一用户对HTTP接口的访问请求;根据存储的基础数据对访问请求进行验证,以根据验证结果判断是否接受用户对HTTP接口的访问。其中,将基础数据存储于服务器中新建的缓存中,可提高基础数据的读取速率,且将基础数据根据同步Set、同步Hashtable及同步TreeMap中的任意一种数据结构进行存储,解决跨表查询瓶颈和读写冲突的锁表问题,保证线程安全。本发明专利技术的运行效率以及安全性能均较高,可提高接口的稳定性。
【技术实现步骤摘要】
HTTP接口访问权限验证方法、系统、及服务器
本专利技术涉及网络安全领域,特别是涉及一种HTTP接口访问权限验证方法、系统、及服务器。
技术介绍
当前有许多API接口都是基于http协议的,因此接口的安全性是我们对API接口的最基本的要求。实现接口安全有许多策略,如token验证、防盗用和访问频率限制等,这就需要在API接口提供数据前先经过API权限验证模块,拒绝非法的、暴力的接口调用,以保证能提供正常稳定的接口服务给客户。现有的API权限验证系统中,利用用户调用接口时带的随机数来实现防盗用(即随机数重复性校验)和访问频率限制,使用传统的如mysql数据库存储token和随机数的数据存在以下弊端:(1)mysql数据库连接和查询都会消耗较多时间,导致接口响应慢,特别是查询随机数访问数据时,跨表查询性能成为瓶颈(2)mysql数据库承受的并发查询数有限,频繁调用会占用系统资源,并且容易导致token基础表的锁表问题(3)频繁调用接口导致mysql数据库不稳定,从而影响了接口的稳定性。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种HTTP接口访问权限验证方法、系统、及服务器,用于解决现有技术中接口访问不能快速且稳定的响应的问题。为实现上述目的及其他相关目的,本专利技术提供一种HTTP接口访问权限验证方法、系统、及服务器,一种HTTP接口访问权限验证方法,其特征在于,应用于一服务器中,所述方法包括:在所述服务器中新建一缓存;从预设的数据库中同步基础数据至所述缓存,将所述基础数据根据同步Set、同步Hashtable及同步TreeMap中的任意一种数据结构进行存储;接受一用户对所述HTTP接口的访问请求;根据存储的所述基础数据对所述访问请求进行验证,以根据验证结果判断是否接受所述用户对所述HTTP接口的访问。于本专利技术一具体实施例中,所述基础数据包括对应所述用户的token表、接口配置表、接口次数限制表、以及接口随机数访问表中的任意一或多种,所述访问请求中包括随机数。于本专利技术一具体实施例中,所述访问请求包括md5值,所述根据存储的所述基础数据对所述访问请求进行验证的步骤还包括:将所述随机数的长度与预设的随机数长度阈值进行比较,且将所述md5值与预设的key的长度阈值进行比较,当所述随机数的长度小于所述随机数长度阈值且所述md5值等于所述key长度阈值时,继续执行下一步骤,否则验证失败;将与所述访问请求的token与所述随机数进行md5加密,当所述加密结果与所述key值相同时继续执行下一步骤,否则验证失败;根据所述接口次数限制表,判断当前的访问是否超过预设时间段内的访问次数,当没超过时,继续执行下一步骤,否则验证失败;根据所述接口随机数访问表,判断所述随机数是否与预设时间段内的随机数相同,当不存在相同时,验证通过,允许对所述HTTP接口的访问,且将所述访问请求对应的随机数添加于所述接口随机数访问表中,否则验证失败。于本专利技术一具体实施例中,所述基础数据还包括管理员集合,所述管理员集合包括用户参数,所述根据存储的所述基础数据对所述访问请求进行验证的步骤还包括:在判断所述随机数不与预设时间段内的随机数相同时,继续判断所述用户关联的用户参数是否存在于所述管理员集合中,当为是时,允许对所述HTTP接口的访问;且将所述访问请求对应的随机数添加于所述接口随机数访问表中;否则继续验证用户参数和域名参数的关联。于本专利技术一具体实施例中,所述基础数据还包括具有域名参数的域名表,当所述用户关联的用户参数不存在于所述管理员集合中时,继续判断该用户对应的域名参数是否存在于所述域名表中,若是,则允许对所述HTTP接口的访问;且将所述访问请求对应的随机数添加于所述接口随机数访问表中;否则验证失败。于本专利技术一具体实施例中,所述接口随机数访问表中包括对应所述用户的允许访问的访问请求的随机数以及访问所述HTTP接口的时间戳。于本专利技术一具体实施例中,当通过一可视化平台对所述基础数据进行新增、修改、和/或删除的操作时,根据发生的所述操作对所述缓存中的基础数据进行增量加载。于本专利技术一具体实施例中,以预设的时间周期从所述数据库中同步所述基础数据。为实现上述目的及其他相关目的,本专利技术还提供一种HTTP接口访问权限验证系统,应用于一服务器中,所述系统包括:缓存新建模块,用以在所述服务器中新建一缓存;同步模块,用以从预设的数据库中同步基础数据至所述缓存,且将所述基础数据根据同步Set、同步Hashtable及同步TreeMap中的任意一种数据结构进行存储;访问请求接收模块,用以接受一用户对所述HTTP接口的访问请求;权限验证模块,用以根据存储的所述基础数据对所述访问请求进行验证,以根据验证结果判断是否允许所述用户对所述HTTP接口的访问。为实现上述目的及其他相关目的,本专利技术还提供一种服务器,应用如上任一项所述的HTTP接口访问权限验证方法。如上所述,本专利技术的HTTP接口访问权限验证方法、系统、及服务器,其中,方法包括:在所述服务器中新建一缓存;从预设的数据库中同步基础数据至所述缓存,且将所述基础数据根据同步Set、同步Hashtable及同步TreeMap中的任意一种数据结构进行存储;接受一用户对所述HTTP接口的访问请求;根据存储的所述基础数据对所述访问请求进行验证,以根据验证结果判断是否接受所述用户对所述HTTP接口的访问。其中,将基础数据存储于服务器中新建的缓存中,可提高基础数据的读取速率,且将基础数据根据同步TreeMap数据结构进行存储,解决跨表查询瓶颈和读写冲突的锁表问题,保证线程安全。本专利技术的运行效率以及安全性能均较高,可提高接口的稳定性。附图说明图1显示为本专利技术的HTTP接口访问权限验证方法在一具体实施例中的流程示意图。图2显示为本专利技术的HTTP接口访问权限验证方法在一具体实施例中的应用示意图。图3显示为本专利技术的一具体实施例中接口随机数访问表的结构示意图。图4显示为本专利技术的HTTP接口访问权限验证系统在一具体实施例中的模块示意图。元件标号说明10方法11~14步骤40访问权限验证系统41缓存新建模块42同步模块43访问请求接收模块44权限验证模块具体实施方式以下通过特定的具体实例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本专利技术的其他优点与功效。本专利技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本专利技术的基本构想,遂图示中仅显示与本专利技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。为了使本专利技术之叙述更加详尽与完备,可参照附图及以下所述之各种实施例。但所提供之实施例并非用以限制本专利技术所涵盖的范围;步骤的描述亦非用以限制其执行之顺序,任何由重新组合,所产生具有均等功效的装置,皆为本专利技术所涵盖的范围。于实施方式与申请专利范围中,除非内文中对于冠词有所特别限定,否则「一」与「该」可泛指单一个或复数本文档来自技高网...
【技术保护点】
1.一种HTTP接口访问权限验证方法,其特征在于,应用于一服务器中,所述方法包括:在所述服务器中新建一缓存;从预设的数据库中同步基础数据至所述缓存,且将基础数据根据同步Set、同步Hashtable及同步TreeMap中的任意一种数据结构进行存储;接受一用户对所述HTTP接口的访问请求;根据存储的所述基础数据对所述访问请求进行验证,以根据验证结果判断是否接受所述用户对所述HTTP接口的访问。
【技术特征摘要】
1.一种HTTP接口访问权限验证方法,其特征在于,应用于一服务器中,所述方法包括:在所述服务器中新建一缓存;从预设的数据库中同步基础数据至所述缓存,且将基础数据根据同步Set、同步Hashtable及同步TreeMap中的任意一种数据结构进行存储;接受一用户对所述HTTP接口的访问请求;根据存储的所述基础数据对所述访问请求进行验证,以根据验证结果判断是否接受所述用户对所述HTTP接口的访问。2.根据权利要求1所述的HTTP接口访问权限验证方法,其特征在于:所述基础数据包括对应所述用户的token表、接口配置表、接口次数限制表、以及接口随机数访问表中的任意一或多种,所述访问请求中包括随机数。3.根据权利要求2所述的HTTP接口访问权限验证方法,其特征在于:所述访问请求还包括md5值,所述根据存储的所述基础数据对所述访问请求进行验证的步骤还包括:将所述随机数的长度与预设的随机数的长度阈值进行比较,且将所述md5值与预设的key的长度阈值进行比较,当所述随机数长度小于所述随机数长度阈值且所述md5值的长度等于所述key的长度阈值时,继续执行下一步骤,否则验证失败;将与所述访问请求的token与所述随机数进行md5加密,当所述加密结果与所述key值相同时继续执行下一步骤,否则验证失败;根据所述接口次数限制表,判断当前的访问是否超过预设时间段内的访问次数,当没超过时,继续执行下一步骤,否则验证失败;根据所述接口随机数访问表,判断所述随机数是否与预设时间段内的随机数相同,当不存在相同时,验证通过,允许对所述HTTP接口的访问,且将所述访问请求对应的随机数添加于所述接口随机数访问表中,否则验证失败。4.根据权利要求3所述的HTTP接口访问权限验证方法,其特征在于:所述基础数据还包括管理员集合,所述管理员集合包括用户参数,所述根据存储的所述基础数据对所述访问请求进行验证的步骤还包括:在判断...
【专利技术属性】
技术研发人员:陆雄斌,
申请(专利权)人:网宿科技股份有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。