CN110674376A - 接口参数校验方法、装置、设备及计算机可读存储介质 - Google Patents
接口参数校验方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110674376A CN110674376A CN201910846046.8A CN201910846046A CN110674376A CN 110674376 A CN110674376 A CN 110674376A CN 201910846046 A CN201910846046 A CN 201910846046A CN 110674376 A CN110674376 A CN 110674376A
- Authority
- CN
- China
- Prior art keywords
- request
- address
- interface
- parameter
- legal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/908—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及信息安全技术领域,公开了一种接口参数校验方法、装置、设备及可读存储介质,接口参数校验方法包括:接收接口调用请求,对接口调用请求进行拆分得到拆分数据,其中,拆分数据包括请求端地址、请求参数以及接口调用请求请求调用的接口的接口名称;检测请求端地址是否为合法地址;若请求端地址为合法地址,则获取接口名称对应的数据字典;基于数据字典检测所述请求参数是否为合法参数;若请求参数为合法参数,则响应接口调用请求,若请求参数为非法参数,则屏蔽接口调用请求。本发明通过设置的数据字典对接口调用请求进行校验,在配置校验规则时,仅需对数据字典进行扩展,基于数据字典的高扩展性,使得对接口的扩展和维护更容易。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及接口参数校验方法、装置、设备及计算机可读存储介质。
背景技术
为了满足用户的各种需求,服务器会提供一些接口,以供客户端进行调用,从而实现各种功能。与此同时,为了保证服务器的安全,客户端在调用接口时,服务器需要对接口传递的参数进行校验。
现有技术中主要用javax.validate或者是hibernate.validate在接口定义的代码中对参数进行验证,但这个代码独立性不强,耦合度高,从而不利于后期对接口进行扩展和维护。
发明内容
本发明的主要目的在于提供一种接口参数校验方法、装置、设备及计算机可读存储介质,旨在解决现有技术中通过javax.validate或者是hibernate.validate在接口定义的代码中对参数进行验证,不利于后期对接口进行扩展和维护的技术问题。
为实现上述目的,本发明提供一种接口参数校验方法,所述接口参数校验方法包括以下步骤:
接收接口调用请求,对所述接口调用请求进行拆分得到拆分数据,其中,所述拆分数据包括请求端地址、请求参数以及所述接口调用请求请求调用的接口的接口名称;
检测所述请求端地址是否为合法地址;
若所述请求端地址为合法地址,则获取所述接口名称对应的数据字典;
基于所述数据字典检测所述请求参数是否为合法参数;
若所述请求参数为合法参数,则响应所述接口调用请求,若所述请求参数为非法参数,则屏蔽所述接口调用请求。
此外,为实现上述目的,本发明还提供一种接口参数校验装置,所述接口参数校验装置包括:
拆分模块,用于接收接口调用请求,对所述接口调用请求进行拆分得到拆分数据,其中,所述拆分数据包括请求端地址、请求参数以及所述接口调用请求请求调用的接口的接口名称;
第一检测模块,用于检测所述请求端地址是否为合法地址;
获取模块,用于若所述请求端地址为合法地址,则获取所述接口名称对应的数据字典;
第二检测模块,用于基于所述数据字典检测所述请求参数是否为合法参数;
处理模块,用于若所述请求参数为合法参数,则响应所述接口调用请求,若所述请求参数为非法参数,则屏蔽所述接口调用请求。
此外,为实现上述目的,本发明还提供一种接口参数校验设备,所述接口参数校验设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的接口参数校验程序,所述接口参数校验程序被所述处理器执行时实现如上所述的接口参数校验方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有接口参数校验程序,所述接口参数校验程序被处理器执行时实现如上所述的接口参数校验方法的步骤。
本发明中,接收接口调用请求,对所述接口调用请求进行拆分得到拆分数据,其中,所述拆分数据包括请求端地址、请求参数以及所述接口调用请求请求调用的接口的接口名称;检测所述请求端地址是否为合法地址;若所述请求端地址为合法地址,则获取所述接口名称对应的数据字典;基于所述数据字典检测所述请求参数是否为合法参数;若所述请求参数为合法参数,则响应所述接口调用请求,若所述请求参数为非法参数,则屏蔽所述接口调用请求。本发明通过设置的数据字典对接口调用请求进行校验,在配置校验规则时,仅需对数据字典进行扩展,基于数据字典的高扩展性,使得对接口的扩展和维护更容易。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的接口参数校验设备结构示意图;
图2为本发明接口参数校验方法一实施例的流程示意图;
图3为图2中步骤S40的细化流程示意图;
图4为本发明接口参数校验装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
如图1所示,图1为本发明实施例方案涉及的硬件运行环境的接口参数校验设备结构示意图。
如图1所示,该接口参数校验设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的接口参数校验设备结构并不构成对接口参数校验设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及接口参数校验程序。
在图1所示的接口参数校验设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的接口参数校验程序,并执行以下接口参数校验方法的各个实施例的操作。
参照图2,图2为本发明接口参数校验方法一实施例的流程示意图。
在一实施例中,接口参数校验方法包括:
步骤S10,接收接口调用请求,对所述接口调用请求进行拆分得到拆分数据,其中,所述拆分数据包括请求端地址、请求参数以及所述接口调用请求请求调用的接口的接口名称;
本实施例中,接口参数校验方法的执行主体可以是服务器,发出调用请求的主体为客户端。客户端与服务器若要进行直接通信,则必须遵循一定的通信协议。按照此通信协议的规定对接收到的接口调用请求进行拆分,即可得到包括请求端地址、请求参数以及接口调用请求请求调用的接口的接口名称的拆分数据。如通信协议规定客户端发送的信息必须以10个byte为最小发送单位,且其中前2个byte为客户端地址(即请求端地址),随后6个byte为请求参数,最后两个byte为请求调用的接口的接口名。即byte0、byte1中携带的信息表示请求端地址,byte2至byte7携带的信息表示请求参数,byte8、byte9携带的信息表示接口名。从而当接收到接口调用请求时,将接口调用请求拆分为byte0至byte9,抓取byte0和byte1中的信息作为请求端地址,抓取byte2至byte7中的信息作为请求参数,抓取byte8和byte9中的信息作为接口名。此外也可以按照其他的通信规则对接收到的接口请求参数进行拆分,对此不进行限定。
步骤S20,检测所述请求端地址是否为合法地址;
本实施例中,根据IPv4(是互联网协议Internet Protocol,IP的第四版)的规定:合法IPv4地址分为四段三位数:***.***.***.***,且每段三位数不超过255,不小于0。根据该规定,即可判断请求端地址是否为合法地址。即根据分隔符“.”将请求端地址拆分为四段三位数,若四段三位数中存在大于255或者小于0的数,则该请求端地址为非法地址;若四段三位数中不存在大于255或者小于0的数,则该请求端地址为合法地址。
步骤S30,若所述请求端地址为合法地址,则获取所述接口名称对应的数据字典;
本实施例中,为了满足用户的各种需求,服务器会提供一些接口,且按照接口提供的功能,对接口进行命名。例如,登录接口(用于用户的登录操作)、图像显示接口(用于调用用户需求的图片并显示)等。且可以不同的标识信息表示接口名称。例如,若byte8、byte9携带的信息为1,则对应的接口名称为登录接口,若byte8、byte9携带的信息为2,则对应的接口名称为图像显示接口。
本实施例中,可根据接口允许的合法参数的不同预设每个接口对应的数据字典。数据字典为json格式,json(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式,有对象和数组两种数据结构。其中对象的数据结构为key_value键/值对的结构模式,本申请将此key_value键/值对的结构模式作为数据字典,其中有众多key_value键/值对,key表示参数,value表示参数对应的正则验证表达式,正则验证表达式规定了参数必须遵循的格式。
本实施例中,若接口调用请求请求调用的接口的接口名称为登录接口,则获取登录接口对应的数据字典。参照表1,表1为登录接口对应的数据字典的示例表。
表1
Key | Value |
参数1 | 正则验证表达式1 |
参数2 | 正则验证表达式2 |
参数3 | 正则验证表达式3 |
参数...... | ...... |
本实施例中,表1为登录接口对应的数据字典的示例表,则参数1可以是登录名、参数2可以是登录密码、参数3可以是验证码。则参数1对应的正则验证表达式1,规定了登录名必须遵循的格式;参数2对应的正则验证表达式2,规定了登录密码必须遵循的格式;参数3对应的正则验证表达式3,规定了验证码必须遵循的格式。
步骤S40,基于所述数据字典检测所述请求参数是否为合法参数;
本实施例中,以接口调用请求请求调用的接口的接口名称为登录接口进行说明。将请求参数(实际情况下一般有多个,例如请求参数1~请求参数5)作为key值,从数据字典中获取key值对应的value值,即获取参数1对应的正则验证表达式1、参数2对应的正则验证表达式2、参数3对应的正则验证表达式3、参数4对应的正则验证表达式4、参数5对应的正则验证表达式5,然后判断参数1是否符合正则验证表达式1对应的条件、参数2是否符合正则验证表达式2对应的条件、参数3是否符合正则验证表达式3对应的条件、参数4是否符合正则验证表达式4对应的条件、参数5是否符合正则验证表达式5对应的条件;若参数1至参数5均符合其对应的正则验证表达式的条件,则判定请求参数为合法参数,若参数1至参数5中存在至少一个不符合其对应的正则验证表达式的条件,则判定请求参数为非法参数。
一可选实施例中,正则验证表达式1对应的条件为:日期类型为YYYY-MM-DD格式的类型;正则验证表达式2对应的条件为:字符为英文字母;正则验证表达式3对应的条件为:字符为整数;正则验证表达式4对应的条件为:字符为a-z,A-Z,0-9;正则验证表达式5对应的条件为:输入的数字不大于某个特定的数字X。若参数1为YYYY-MM-DD格式的类型,参数2为英文字母,参数3为整数,参数4的字符符合a-z,A-Z,0-9的规定,参数5小于X,则判定请求参数为合法参数,若存在一个或多个不符合的请求,则判定请求参数为非法参数。
步骤S50,若所述请求参数为合法参数,则响应所述接口调用请求,若所述请求参数为非法参数,则屏蔽所述接口调用请求。
本实施例中,若请求参数为合法参数,则响应该接口调用请求,即调用对应的接口,实现接口对应的功能。若请求参数为非法参数,则屏蔽该接口调用请求,即不进行相应的接口调用动作。
本实施例中,接收接口调用请求,对所述接口调用请求进行拆分得到拆分数据,其中,所述拆分数据包括请求端地址、请求参数以及所述接口调用请求请求调用的接口的接口名称;检测所述请求端地址是否为合法地址;若所述请求端地址为合法地址,则获取所述接口名称对应的数据字典;基于所述数据字典检测所述请求参数是否为合法参数;若所述请求参数为合法参数,则响应所述接口调用请求,若所述请求参数为非法参数,则屏蔽所述接口调用请求。本实施例通过设置的数据字典对接口调用请求进行校验,在配置校验规则时,仅需对数据字典进行扩展,基于数据字典的高扩展性,使得对接口的扩展和维护更容易。
进一步地,在一实施例中,步骤S20包括:
步骤S201,检测所述请求端地址是否为合法IP地址;
一实施例中,步骤S201包括:
根据所述请求端地址中的分隔符,将所述请求端地址拆分为四段数据;
本实施例中,根据IPv4(是互联网协议Internet Protocol,IP的第四版)的规定:合法IPv4地址分为四段三位数:***.***.***.***,且每段三位数不超过255,不小于0。根据该规定,即可判断请求端地址是否为合法IP地址。即根据分隔符“.”将请求端地址拆分为四段三位数。
检测所述四段数据中是否存在小于零或大于255的数据;
本实施例中,由于,IPv4规定每段三位数不超过255,不小于0,则检测四段数据中是否存在小于零或大于255的异常数据。
若所述四段数据中不存在小于零或大于255的数据,则判定所述请求端地址为合法IP地址,若所述四段数据中存在小于零或大于255的数据,则判定所述请求端地址为非法IP地址。
本实施例中,若四段三位数中存在大于255或者小于0的数,则该请求端地址为非法IP地址;若四段三位数中不存在大于255或者小于0的数,则该请求端地址为合法IP地址。
步骤S202,若所述请求端地址为合法IP地址,则判定所述请求端地址为合法地址。
本实施例中,若根据步骤S201的判断规则,判定请求端地址为合法IP地址,则判定请求端地址为合法地址。
进一步地,在一实施例中,步骤S202包括:
步骤S2021,若所述请求端地址为合法IP地址,则获取所述请求端地址在预设时段内对应的访问请求次数;
本实施例中,若该请求端地址为合法IP地址,则获取请求端地址在预设时段内对应的访问请求次数。
本实施例中,服务器每次接收到接口调用请求(不论请求调用哪个接口),均将接收到请求的时刻以及接口调用请求指定的请求端IP地址记录在日志中。
本实施例中,预设时段根据实际情况进行设置,例如以接收接口调用请求的时刻t2向前2小时这段时间,作为预设时段。根据日志中记录的信息,即可得到该请求端地址在预设时段内发送过的接口调用请求的次数(即获取请求端地址在预设时段内对应的访问请求次数)。
步骤S2022,检测所述访问请求次数是否小于或等于预设阈值;
一般来说,若同一IP地址在一段时间内多次访问服务器(即多次调用服务器接口),这种情况是不正常的。因此,可根据实际情况预设一个阈值,例如7次。并检测请求端地址在预设时段内对应的访问请求次数是否小于或等于预设阈值。
步骤S2023,若所述访问请求次数小于或等于预设阈值,则判定所述请求端地址为合法地址。
本实施例中,若检测到请求端地址在预设时段内对应的访问请求次数大于预设阈值,则判定出现了异常事件,并判定该请求端地址为非法地址;若检测到请求端地址在预设时段内对应的访问请求次数小于或等于预设阈值,则判定该请求端地址为合法地址。
进一步地,在一实施例中,步骤S2023包括:
步骤S20231,若所述访问请求次数小于或等于预设阈值,则检测是否存在所述请求端地址对应的公钥;
本实施例中,对单个请求端而言,其IP地址是固定的,服务器通过非对称算法为每个请求端的IP地址(即请求端地址)生成一对公私钥。例如为IP地址1生成的公钥为S1,私钥为s1,并将私钥s1发给该IP地址对应的客户端(即请求端)1,公钥S1与该IP地址关联保存在服务器中。当访问请求次数小于或等于预设阈值时,以该IP地址为索引,从服务器中查找是否存在该IP地址对应的公钥。
步骤S20232,若存在所述请求段地址对应的公钥,则判定所述请求段地址为合法地址。
本实施例中,若存在请求段地址对应的公钥,则说明该请求端地址是预先得到了服务器认证的,即可判定该请求段地址为合法地址。进一步地,在一实施例中,拆分数据还包括签名信息,步骤S20232包括:
若存在所述请求段地址对应的公钥,则检测所述公钥是否能对所述签名信息进行验签;若所述公钥能对所述签名信息进行验签,则判定所述请求段地址为合法地址。
本实施例中,对单个请求端而言,其IP地址是固定的,服务器通过非对称算法为每个请求端的IP地址(即请求端地址)生成一对公私钥。例如为IP地址1生成的公钥为S1,私钥为s1,并将私钥s1发给该IP地址对应的客户端(即请求端)1,公钥S1与该IP地址关联保存在服务器中。当客户端1发送接口调用请求时,根据私钥s1生成签名信息,并将该签名信息添加至接口调用请求中,一同发送给服务器。只有当服务器接收到该接口调用请求时,根据对应的IP地址,获取到公钥,且通过该公钥对签名信息验签通过时(即通过公钥对签名信息解密成功),认定请求段地址为合法地址。
进一步地,参照图3,图3为图2中步骤S40的细化流程示意图。
在一实施例中,步骤S40包括:
步骤S401,以所述请求参数为key值,从数据字典中获取所述key值对应的value值,其中,所述value值为正则验证表达式;
本实施例中,以接口调用请求请求调用的接口的接口名称为登录接口进行说明。将请求参数(实际情况下一般有多个,例如请求参数1~请求参数5)作为key值,从数据字典中获取key值对应的value值,即获取参数1对应的正则验证表达式1、参数2对应的正则验证表达式2、参数3对应的正则验证表达式3、参数4对应的正则验证表达式4、参数5对应的正则验证表达式5。
步骤S402,检测所述请求参数是否满足所述正则验证表达式对应的条件;
步骤S403,若所述请求参数满足所述正则验证表达式对应的条件,则判定所述请求参数为合法参数。
本实施例中,判断参数1是否符合正则验证表达式1对应的条件、参数2是否符合正则验证表达式2对应的条件、参数3是否符合正则验证表达式3对应的条件、参数4是否符合正则验证表达式4对应的条件、参数5是否符合正则验证表达式5对应的条件;若参数1至参数5均符合其对应的正则验证表达式的条件,则判定请求参数为合法参数,若参数1至参数5中存在至少一个不符合其对应的正则验证表达式的条件,则判定请求参数为非法参数。
一可选实施例中,正则验证表达式1对应的条件为:日期类型为YYYY-MM-DD格式的类型;正则验证表达式2对应的条件为:字符为英文字母;正则验证表达式3对应的条件为:字符为整数;正则验证表达式4对应的条件为:字符为a-z,A-Z,0-9;正则验证表达式5对应的条件为:输入的数字不大于某个特定的数字X。若参数1为YYYY-MM-DD格式的类型,参数2为英文字母,参数3为整数,参数4的字符符合a-z,A-Z,0-9的规定,参数5小于X,则判定请求参数为合法参数,若存在一个或多个不符合的请求,则判定请求参数为非法参数。
参照图4,图4为本发明接口参数校验装置一实施例的功能模块示意图。
在一实施例中,接口参数校验装置包括:
拆分模块10,用于接收接口调用请求,对所述接口调用请求进行拆分得到拆分数据,其中,所述拆分数据包括请求端地址、请求参数以及所述接口调用请求请求调用的接口的接口名称;
第一检测模块20,用于检测所述请求端地址是否为合法地址;
获取模块30,用于若所述请求端地址为合法地址,则获取所述接口名称对应的数据字典;
第二检测模块40,用于基于所述数据字典检测所述请求参数是否为合法参数;
处理模块50,用于若所述请求参数为合法参数,则响应所述接口调用请求,若所述请求参数为非法参数,则屏蔽所述接口调用请求。
进一步地,一实施例中,第一检测模块20包括:
第一检测单元201,用于检测所述请求端地址是否为合法IP地址;
第一判定单元202,用于若所述请求端地址为合法IP地址,则判定所述请求端地址为合法地址。
进一步地,一实施例中,第一检测单元201包括:
地址拆分子单元2021,用于根据所述请求端地址中的分隔符,将所述请求端地址拆分为四段数据;
第一检测子单元2022,用于检测所述四段数据中是否存在小于零或大于255的数据,若所述四段数据中不存在小于零或大于255的数据,则判定所述请求端地址为合法IP地址,若所述四段数据中存在小于零或大于255的数据,则判定所述请求端地址为非法IP地址。
进一步地,一实施例中,第一判定单元202包括:
获取子单元2021,用于若所述请求端地址为合法IP地址,则获取所述请求端地址在预设时段内对应的访问请求次数;
第二检测子单元2022,用于检测所述访问请求次数是否小于或等于预设阈值;
第一判定子单元2023,用于若所述访问请求次数小于或等于预设阈值,则判定所述请求端地址为合法地址。
进一步地,一实施例中,第一判定子单元2023包括:
第一检测子子单元20231,用于若所述访问请求次数小于或等于预设阈值,则检测是否存在所述请求端地址对应的公钥;
第一判定子子单元20232,用于若存在所述请求段地址对应的公钥,则判定所述请求段地址为合法地址。
进一步地,一实施例中,所述拆分数据还包括签名信息,第一判定子子单元20232包括:
第一检测子子子单元202321,用于若存在所述请求段地址对应的公钥,则检测所述公钥是否能对所述签名信息进行验签;
第一判定子子子单元202322,用于若所述公钥能对所述签名信息进行验签,则判定所述请求段地址为合法地址。
进一步地,一实施例中,第二检测模块40包括:
Value值获取单元401,用于以所述请求参数为key值,从数据字典中获取所述key值对应的value值,其中,所述value值为正则验证表达式;
第二检测单元402,用于检测所述请求参数是否满足所述正则验证表达式对应的条件;
第二判定单元403,用于若所述请求参数满足所述正则验证表达式对应的条件,则判定所述请求参数为合法参数。
本发明接口参数校验装置的具体实施例与上述接口参数校验方法的各个实施例基本相同,在此不做赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有接口参数校验程序,所述接口参数校验程序被处理器执行时实现如上接口参数校验方法的各个实施例的操作。
本发明计算机可读存储介质的具体实施例与上述接口参数校验方法的各个实施例基本相同,在此不做赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种接口参数校验方法,其特征在于,所述接口参数校验方法包括以下步骤:
接收接口调用请求,对所述接口调用请求进行拆分得到拆分数据,其中,所述拆分数据包括请求端地址、请求参数以及所述接口调用请求请求调用的接口的接口名称;
检测所述请求端地址是否为合法地址;
若所述请求端地址为合法地址,则获取所述接口名称对应的数据字典;
基于所述数据字典检测所述请求参数是否为合法参数;
若所述请求参数为合法参数,则响应所述接口调用请求,若所述请求参数为非法参数,则屏蔽所述接口调用请求。
2.如权利要求1所述的接口参数校验方法,其特征在于,所述检测所述请求端地址是否为合法地址的步骤包括:
检测所述请求端地址是否为合法IP地址;
若所述请求端地址为合法IP地址,则判定所述请求端地址为合法地址。
3.如权利要求2所述的接口参数校验方法,其特征在于,所述检测所述请求端地址是否为合法IP地址的步骤包括:
根据所述请求端地址中的分隔符,将所述请求端地址拆分为四段数据;
检测所述四段数据中是否存在小于零或大于255的数据;
若所述四段数据中不存在小于零或大于255的数据,则判定所述请求端地址为合法IP地址,若所述四段数据中存在小于零或大于255的数据,则判定所述请求端地址为非法IP地址。
4.如权利要求2所述的接口参数校验方法,其特征在于,所述若所述请求端地址为合法IP地址,则判定所述请求端地址为合法地址的步骤包括:
若所述请求端地址为合法IP地址,则获取所述请求端地址在预设时段内对应的访问请求次数;
检测所述访问请求次数是否小于或等于预设阈值;
若所述访问请求次数小于或等于预设阈值,则判定所述请求端地址为合法地址。
5.如权利要求4所述的接口参数校验方法,其特征在于,所述若所述访问请求次数小于或等于预设阈值,则判定所述请求端地址为合法地址的步骤包括:
若所述访问请求次数小于或等于预设阈值,则检测是否存在所述请求端地址对应的公钥;
若存在所述请求段地址对应的公钥,则判定所述请求段地址为合法地址。
6.如权利要求5所述的接口参数校验方法,其特征在于,所述拆分数据还包括签名信息,所述若存在所述请求段地址对应的公钥,则判定所述请求段地址为合法地址的步骤包括:
若存在所述请求段地址对应的公钥,则检测所述公钥是否能对所述签名信息进行验签;
若所述公钥能对所述签名信息进行验签,则判定所述请求段地址为合法地址。
7.如权利要求1所述的接口参数校验方法,其特征在于,所述基于所述数据字典检测所述请求参数是否为合法参数的步骤包括:
以所述请求参数为key值,从数据字典中获取所述key值对应的value值,其中,所述value值为正则验证表达式;
检测所述请求参数是否满足所述正则验证表达式对应的条件;
若所述请求参数满足所述正则验证表达式对应的条件,则判定所述请求参数为合法参数。
8.一种接口参数校验装置,其特征在于,所述接口参数校验装置包括:
拆分模块,用于接收接口调用请求,对所述接口调用请求进行拆分得到拆分数据,其中,所述拆分数据包括请求端地址、请求参数以及所述接口调用请求请求调用的接口的接口名称;
第一检测模块,用于检测所述请求端地址是否为合法地址;
获取模块,用于若所述请求端地址为合法地址,则获取所述接口名称对应的数据字典;
第二检测模块,用于基于所述数据字典检测所述请求参数是否为合法参数;
处理模块,用于若所述请求参数为合法参数,则响应所述接口调用请求,若所述请求参数为非法参数,则屏蔽所述接口调用请求。
9.一种接口参数校验设备,其特征在于,所述接口参数校验设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的接口参数校验程序,所述接口参数校验程序被所述处理器执行时实现如权利要求1至7中任一项所述的接口参数校验方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有接口参数校验程序,所述接口参数校验程序被处理器执行时实现如权利要求1至7中任一项所述的接口参数校验方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910846046.8A CN110674376A (zh) | 2019-09-09 | 2019-09-09 | 接口参数校验方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910846046.8A CN110674376A (zh) | 2019-09-09 | 2019-09-09 | 接口参数校验方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110674376A true CN110674376A (zh) | 2020-01-10 |
Family
ID=69076619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910846046.8A Pending CN110674376A (zh) | 2019-09-09 | 2019-09-09 | 接口参数校验方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110674376A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112367338A (zh) * | 2020-11-27 | 2021-02-12 | 腾讯科技(深圳)有限公司 | 恶意请求检测方法及装置 |
CN112540923A (zh) * | 2020-12-15 | 2021-03-23 | 平安科技(深圳)有限公司 | 接口参数校验与转换方法、装置、设备及存储介质 |
CN113794568A (zh) * | 2021-09-14 | 2021-12-14 | 北京北大方正电子有限公司 | 接口安全验证方法、访问接口的方法、装置、设备和介质 |
CN117707653A (zh) * | 2024-02-06 | 2024-03-15 | 天津医康互联科技有限公司 | 参数监控方法、装置、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105262592A (zh) * | 2015-09-18 | 2016-01-20 | 浪潮(北京)电子信息产业有限公司 | 一种数据交互的方法及api接口 |
CN107135073A (zh) * | 2016-02-26 | 2017-09-05 | 北京京东尚科信息技术有限公司 | 接口调用方法和装置 |
CN107861713A (zh) * | 2017-07-25 | 2018-03-30 | 平安普惠企业管理有限公司 | 数据调用方法、装置及计算机可读存储介质 |
CN108512845A (zh) * | 2018-03-30 | 2018-09-07 | 广州视源电子科技股份有限公司 | 接口调用的校验方法及装置 |
CN109992500A (zh) * | 2017-12-29 | 2019-07-09 | 北京奇虎科技有限公司 | 应用的接口测试方法、装置和计算机可读存储介质 |
-
2019
- 2019-09-09 CN CN201910846046.8A patent/CN110674376A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105262592A (zh) * | 2015-09-18 | 2016-01-20 | 浪潮(北京)电子信息产业有限公司 | 一种数据交互的方法及api接口 |
CN107135073A (zh) * | 2016-02-26 | 2017-09-05 | 北京京东尚科信息技术有限公司 | 接口调用方法和装置 |
CN107861713A (zh) * | 2017-07-25 | 2018-03-30 | 平安普惠企业管理有限公司 | 数据调用方法、装置及计算机可读存储介质 |
CN109992500A (zh) * | 2017-12-29 | 2019-07-09 | 北京奇虎科技有限公司 | 应用的接口测试方法、装置和计算机可读存储介质 |
CN108512845A (zh) * | 2018-03-30 | 2018-09-07 | 广州视源电子科技股份有限公司 | 接口调用的校验方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112367338A (zh) * | 2020-11-27 | 2021-02-12 | 腾讯科技(深圳)有限公司 | 恶意请求检测方法及装置 |
CN112540923A (zh) * | 2020-12-15 | 2021-03-23 | 平安科技(深圳)有限公司 | 接口参数校验与转换方法、装置、设备及存储介质 |
CN112540923B (zh) * | 2020-12-15 | 2022-03-25 | 平安科技(深圳)有限公司 | 接口参数校验与转换方法、装置、设备及存储介质 |
CN113794568A (zh) * | 2021-09-14 | 2021-12-14 | 北京北大方正电子有限公司 | 接口安全验证方法、访问接口的方法、装置、设备和介质 |
CN117707653A (zh) * | 2024-02-06 | 2024-03-15 | 天津医康互联科技有限公司 | 参数监控方法、装置、电子设备及计算机可读存储介质 |
CN117707653B (zh) * | 2024-02-06 | 2024-05-10 | 天津医康互联科技有限公司 | 参数监控方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674376A (zh) | 接口参数校验方法、装置、设备及计算机可读存储介质 | |
CN111209582A (zh) | 请求认证方法、装置、设备及存储介质 | |
JP4718216B2 (ja) | プログラム、クライアント認証要求方法、サーバ認証要求処理方法、クライアント及びサーバ | |
CN107046544B (zh) | 一种识别对网站的非法访问请求的方法和装置 | |
CN109768992B (zh) | 网页恶意扫描处理方法及装置、终端设备、可读存储介质 | |
WO2016078182A1 (zh) | 敏感数据的授权方法、装置和系统 | |
CN110888838B (zh) | 基于对象存储的请求处理方法、装置、设备及存储介质 | |
EP2023262A2 (en) | Authentication system and authentication method | |
CN107733853B (zh) | 页面访问方法、装置、计算机和介质 | |
CN110516471B (zh) | 基于信息安全的产品推广方法及相关设备 | |
CN109104430B (zh) | 身份验证方法、装置及计算机可读存储介质 | |
CN113055399A (zh) | 注入攻击的攻击成功检测方法、系统及相关装置 | |
CN111756716A (zh) | 流量检测方法、装置及计算机可读存储介质 | |
CN111327588A (zh) | 一种网络访问安全检测方法、系统、终端和可读存储介质 | |
CN109688096B (zh) | Ip地址的识别方法、装置、设备及计算机可读存储介质 | |
CN110633217A (zh) | 接口校验方法及装置 | |
CN109525613B (zh) | 一种请求处理系统及方法 | |
CN112087455A (zh) | 一种waf站点防护规则生成方法、系统、设备及介质 | |
CN113709136B (zh) | 一种访问请求验证方法和装置 | |
CN112765588B (zh) | 一种身份识别方法、装置、电子设备及存储介质 | |
CN112528286B (zh) | 终端设备安全检测方法、关联设备以及计算机程序产品 | |
CN110417615B (zh) | 校验开关控制方法、装置、设备及计算机可读存储介质 | |
US11218479B2 (en) | Authentication broker apparatus and non-transitory computer readable medium storing authentication broker program | |
CN110598426B (zh) | 基于信息安全的数据通信方法、装置、设备和存储介质 | |
CN114070610A (zh) | Api网关鉴权方法、网关设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |