一种WebApi接口的防刷方法与流程

文档序号:15933346发布日期:2018-11-14 01:59阅读:1185来源:国知局

本发明涉及webapi接口面向第三方调用的接口安全防刷技术,属于通信技术领域。



背景技术:

目前很多项目都会提供对外的webapi供第三方调用,按照调用方式大概可以分为两种。一种是b2b调用,该模式的调用相对比较安全,由于双方都不会把api接口直接暴露在外部,因此可以通过白名单+签名验证(如md5签名)+时间戳+token令牌的方式来保障api的安全,此种方案也是目前比较常用和有效的方案。另一种是api做为中间层被前端调用,该种模式属于前后端分离的方式,服务提供方提供webapi,然后由前端通过js调用以获取数据源渲染前端页面,由于webapi是直接暴露在外部,所有人都可以通过js获取到api的地址,而且此种模式的安全方案相对比较难,单纯依靠前端没有太好的效果,而且很容易被外部不法分子攻破。

综合来看,上述第一种调用方式b2b调用的方案目前已经是比较成熟的,也是相对比较安全的,不作为

本技术:
研究的重点。当前致力于的是第二种调用方式提到的中间层模式,由于缺少有效的安全方案,会存在以下几个隐患:

外部通过技术手段高频次调用api接口,以获取非法利益;

增加后端服务器的压力,为应对大批量的非法访问,可能需要增加额外的服务器,从而增加了项目端的成本。



技术实现要素:

本发明的目的旨在提出一种webapi接口的防刷方法,识别出非法的请求来源,并进行频次限制,做到防刷,保障正常的用户请求顺利到达和响应。

为解决上述技术问题,本发明提供一种webapi接口的防刷方法,其特征在于包括:

核心依据校验:通过对准备访问webapi接口的请求查找作为进一步判断的核心依据;

访限设置:基于所述核心依据设置单位时间内同一个接口访问请求的连接次数阀值;

防刷判定:判断在单位时间内同一个接口访问次数是否超出设定的连接次数阀值,对于超出连接次数阀值的接口访问请求回复拒绝,而对未超出连接次数阀值的接口访问请求正常执行连接。

进一步地,所述核心依据为对应提出接口访问请求的用户id。

更进一步地,在用户id缺失的情况下,所述核心依据替换为用以提出接口访问请求的设备指纹id。

进一步地,所述webapi接口面向两个以上用户,且所述防刷方法以核心依据为基础区分的不同用户设置相同的或各自唯一对应的连接次数阀值。

进一步地,所述webapi接口本身具有两种以上类型,基于特定核心依据的用户设置对应各类型的连接次数阀值。

更进一步地,所述连接次数阀值存储于安防型数据库或缓存中,且连接次数阀值本身具有有效时限。

进一步地,所述防刷方法还包括设置包含已确定的非法请求来源的黑名单,在核心依据校验和防刷判定中,判断接口访问请求的来源进行黑名单筛滤,并对不属于黑名单中的接口访问请求进行防刷判定。

更进一步地,对于属于黑名单中的接口访问请求回复永久拒绝。

应用本发明的防刷方法,具备突出的实质性特点和显著的进步性:该防刷机制的提出,可以有效地识别非法请求,并针对非法请求的来源做出访问频次限制和直接拒绝的快速响应;能够确保其他合法用户的正常调用访问,最大程度地防止敏感数据的泄漏;同时通过屏蔽大量的非法请求,有效减少了后端服务被访问数量,对节省后端服务器成本也具备一定的助益。

附图说明

图1是本发明webapi接口防刷方法的流程示意图。

具体实施方式

以下便结合实施例附图,对本发明的具体实施方式作进一步的详述,以使本发明技术方案更易于理解、掌握,从而对本发明的保护范围做出更为清晰的界定。

本发明针对api作为中层被前端调用的方式中存在的缺点,经创造性研究得到了较为完善的技术解决方案,具体提出了一种webapi接口的防刷方法,能够快速对非法刷接进行有效遏制。

从概述的防刷方法来看,其大致包含如下步骤,核心依据校验:通过对准备访问webapi接口的请求查找作为进一步判断的核心依据;访限设置:基于所述核心依据设置单位时间内同一个接口访问请求的连接次数阀值;防刷判定:判断在单位时间内同一个接口访问次数是否超出设定的连接次数阀值,对于超出连接次数阀值的接口访问请求回复拒绝,而对未超出连接次数阀值的接口访问请求正常执行连接。

作为进一步细化及优化的上述方案,上述核心依据为对应提出接口访问请求的用户id,但在用户id缺失的情况下,所述核心依据替换为用以提出接口访问请求的设备指纹id。

上述webapi接口面向两个以上用户,且防刷方法以核心依据为基础区分的不同用户设置相同的或各自唯一对应的连接次数阀值。

上述webapi接口本身具有两种以上类型,基于特定核心依据的用户设置对应各类型的连接次数阀值。特别地,上述该连接次数阀值存储于安防型数据库或缓存中,且连接次数阀值本身具有有效时限。在超出有效时限之前,该连接次数阀值会被及时更新重设。

上述防刷方法还包括设置包含已确定的非法请求来源的黑名单,在核心依据校验和防刷判定中,判断接口访问请求的来源进行黑名单筛滤,并对不属于黑名单中的接口访问请求进行防刷判定;对于属于黑名单中的接口访问请求回复永久拒绝。

如图1所示的优选防刷方法流程示意图可见,本实施例中当发生接口访问请求(即开始)后,系统会首先判断当前请求是否存在核心依据,即用户id或作为替代使用的设备指纹id。完成后基于该核心依据查询该接口访问请求的来源是否在黑名单有查询结果。并且仅当黑名单筛滤通过的接口访问请求才继续向下进入防刷判定,判断访问次数是否到达或超越阀值,最后根据相对阀值的判断结果执行对应正常执行或拒绝访问,结束整个防刷过程。

综上关于本发明技术方案和实施例的详细介绍可见,应用本发明的防刷方法,具备突出的实质性特点和显著的进步性:该防刷机制的提出,可以有效地识别非法请求,并针对非法请求的来源做出访问频次限制和直接拒绝的快速响应;能够确保其他合法用户的正常调用访问,最大程度地防止敏感数据的泄漏;同时通过屏蔽大量的非法请求,有效减少了后端服务被访问数量,对节省后端服务器成本也具备一定的助益。



技术特征:

技术总结
本发明揭示了一种Web Api接口的防刷方法,包括核心依据校验、访限设置和防刷判定等步骤。具体内容来看,通过对准备访问Web Api接口的请求查找作为进一步判断的核心依据;基于核心依据设置单位时间内同一个接口访问请求的连接次数阀值;并判断在单位时间内同一个接口访问次数是否超出设定的连接次数阀值,对于超出连接次数阀值的接口访问请求回复拒绝,而对未超出连接次数阀值的接口访问请求正常执行连接。该防刷机制的提出,可以有效地识别非法请求,并针对非法请求的来源做出访问频次限制和直接拒绝的快速响应;能够确保其他合法用户的正常调用访问,最大程度地防止敏感数据的泄漏;同时有效减少了后端服务被访问数量,节省成本。

技术研发人员:吴志祥;张海龙;王专;马和平;吴剑;潘保同;陈宇川
受保护的技术使用者:同程网络科技股份有限公司
技术研发日:2018.05.11
技术公布日:2018.11.13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1