服务请求有效性验证方法、客户端及服务器与流程

文档序号:17179965发布日期:2019-03-22 20:48阅读:265来源:国知局
服务请求有效性验证方法、客户端及服务器与流程

本发明实施例涉及计算机技术领域,尤其涉及一种服务请求有效性验证方法、客户端及服务器。



背景技术:

随着计算机和网络通信的飞速发展与广泛应用,网际网络类软件大量上市,网际网络类软件包括客户端和服务器,该类软件直接以互联网为媒介,客户端无需安装不必要的应用插件,既可以体验服务器端提供的各种服务。

现有技术中,客户端向服务器发送的服务请求都是暴露外界,任何人都可以知道服务请求的契约接口,可以伪造服务接口参数发送服务请求,这样的服务请求是没有成本的,任何人都很容易获取服务器返回的数据,如果有大量这种非法的服务请求会消耗服务器资源。针对接口的暴露,避免接收大量的非法请求,服务器会封禁大量发出服务请求的客户端的ip地址,或者增加契约接口之间的关系,接口参数是相关联的,参数不能独立使用。

但是,封禁ip地址是事后处理行为,时效性差,契约接口参数的关联逻辑在客户端,容易被破解,可靠性和安全性差。



技术实现要素:

本发明实施例的目的是提供一种克服上述问题或者至少部分地解决上述问题的服务请求有效性验证方法、客户端及服务器。

为了解决上述技术问题,一方面,本发明实施例提供一种服务请求有效性验证方法,包括:

接收客户端发送的服务请求信息,所述服务请求信息中携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果;

若判断获知所述计算结果正确,则响应所述服务请求信息。

另一方面,本发明实施例提供另一种服务请求有效性验证方法,包括:

根据获取到的计算参数,利用预设算法进行计算得到的计算结果;

向服务器发送服务请求信息,所述服务请求信息中携带有所述计算结果,以供所述服务器根据所述计算结果验证所述服务请求信息的有效性。

再一方面,本发明实施例提供一种服务器,包括:

接收模块,用于接收客户端发送的服务请求信息,所述服务请求信息中携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果;

校验模块,用于若判断获知所述计算结果正确,则响应所述服务请求信息。

又一方面,本发明实施例提供一种客户端,包括:

计算模块,用于根据获取到的计算参数,利用预设算法进行计算得到的计算结果;

请求模块,用于向服务器发送服务请求信息,所述服务请求信息中携带有所述计算结果,以供所述服务器根据所述计算结果验证所述服务请求信息的有效性。

又一方面,本发明实施例提供一种电子设备,包括:

存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述的方法。

又一方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现上述的方法。

本发明实施例提供的服务请求有效性验证方法、客户端及服务器,通过在服务请求信息中携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果,对服务请求信息进行有效性验证,使客户端在发送服务请求信息之前,需要消耗一定的计算资源,增加发送服务请求信息的成本,减少了恶意的请求,避免了服务器资源的浪费。

附图说明

图1为本发明实施例提供的服务请求有效性验证方法示意图;

图2为本发明实施例提供的服务器示意图;

图3为本发明实施例提供的电子设备的结构示意图。

具体实施方式

为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的服务请求有效性验证方法示意图,如图1所示,本发明实施例提供一种服务请求有效性验证方法,其执行主体为服务器,该方法包括:

步骤s101、接收客户端发送的服务请求信息,所述服务请求信息中携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果;

步骤s102、若判断获知所述计算结果正确,则响应所述服务请求信息。

具体来说,客户端向服务器发送服务请求信息时,服务请求信息中需要携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果。计算参数可以是由字符组成的字符串,也可以是文字等其他参数。预设算法可以使用加密算法,或者其他算法,不同的计算参数输入到该预设算法后,输出的计算结果不同。

该计算结果是服务器判别服务请求信息是否有效的依据。

在服务器接收到服务请求信息之后,从该服务请求信息中解析出该计算结果,并对该计算结果进行校验,如果该计算结果正确,说明客户端进行了计算,该服务请求信息有效,然后服务器响应该服务请求信息,执行下一步操作。

例如,客户端接收到的计算参数为一个字符串aaaa,客户端将该字符串aaaa输入至预先设置的一个加密算法进行计算,输出的计算结果为1234,服务器接收客户端发送的携带有计算结果为1234的服务请求信息后,解析出该计算结果1234,然后,服务器对该计算结果1234进行校验,经过校验,如果针对计算参数aaaa,经过该加密算法计算后,得到的计算结果正是1234,则得出该计算结果1234正确,该服务请求信息有效,然后服务器执行下一步操作,例如,根据服务请求信息向客户端反馈服务数据等。

本发明实施例提供的服务请求有效性验证方法,通过在服务请求信息中携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果,对服务请求信息进行有效性验证,使客户端在发送服务请求信息之前,需要消耗一定的计算资源,增加发送服务请求信息的成本,减少了恶意的请求,避免了服务器资源的浪费。

在上述实施例的基础上,进一步地,所述接收客户端发送的服务请求信息之前,还包括:

向所述客户端发送与所述客户端的安装环境信息相匹配的计算参数,以供所述客户端根据所述计算参数,利用所述预设算法进行计算得到所述计算结果。

具体来说,在接收客户端发送的服务请求信息之前,服务器首先需要根据获取到的客户端的安装环境信息,来确定与客户端的安装环境信息相匹配的计算参数,并向客户端下发与安装环境相匹配的计算参数,以供客户端根据计算参数,利用预设算法进行计算得到计算结果。

客户端的安装环境信息用来指示客户端的本地计算能力,服务器会根据不同的安装环境信息来下发不同的计算参数。另外,不同的安装环境预设算法也可以不同。

本发明实施例提供的服务请求有效性验证方法,通过在服务请求信息中携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果,对服务请求信息进行有效性验证,使客户端在发送服务请求信息之前,需要消耗一定的计算资源,增加发送服务请求信息的成本,减少了恶意的请求,避免了服务器资源的浪费。

在以上各实施例的基础上,进一步地,所述接收客户端发送的服务请求信息之后,还包括:

若判断获知所述计算结果错误,则丢弃所述服务请求信息。

具体来说,在服务器接收到服务请求信息之后,从该服务请求信息中解析出该计算结果,并对该计算结果进行校验,如果该计算结果错误,说明该客户端没有进行计算,该服务请求信息是非法的,服务器将直接丢弃该服务请求信息,并阻止操作或者不向客户端返回服务数据。

例如,如果是一个合法的客户端,其接收到的计算参数也为一个字符串aaaa,客户端将该字符串aaaa输入至预先设置的一个加密算法进行计算,输出的计算结果为1234,服务器接收客户端发送的携带有计算结果为1234的服务请求信息后,解析出该计算结果1234,然后,服务器对该计算结果1234进行校验,经过校验,如果针对计算参数aaaa,经过该加密算法计算后,得到的计算结果正是1234,则得出该计算结果1234正确,该服务请求信息有效,然后服务器执行下一步操作,例如,根据服务请求信息向客户端反馈服务数据等。

而如果是一个非法的客户端,其接收到的计算参数为一个字符串aaaa,该非法客户端没有经过计算,其得不到计算结果1234,如果非法的客户端伪造一个计算结果abc,然后向服务器发送的携带有计算结果为abc的服务请求信息,服务器接收到携带有计算结果为abc的服务请求信息后,从中解析出该计算结果abc,服务器对该计算结果abc进行校验,经过校验,如果针对计算参数aaaa,经过该加密算法计算后,得到的计算结果应该是1234,当前解析出的计算结果却是abc,则得出该计算结果abc错误,该服务请求信息无效,服务器将直接丢弃该服务请求信息,并阻止操作或者不向该非法客户端返回服务数据。

本发明实施例提供的服务请求有效性验证方法,通过在服务请求信息中携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果,对服务请求信息进行有效性验证,使客户端在发送服务请求信息之前,需要消耗一定的计算资源,增加发送服务请求信息的成本,减少了恶意的请求,避免了服务器资源的浪费。

本发明实施例提供另一种服务请求有效性验证方法,其执行主体为客户端,该方法包括:

根据获取到的计算参数,利用预设算法进行计算得到的计算结果;

向服务器发送服务请求信息,所述服务请求信息中携带有所述计算结果,以供所述服务器根据所述计算结果验证所述服务请求信息的有效性。

具体来说,首先,客户端根据服务器下发的计算参数,利用预设算法进行计算得到的计算结果。

计算参数可以是由字符组成的字符串,也可以是文字等其他参数。预设算法可以使用加密算法,或者其他算法,不同的计算参数输入到该预设算法后,输出的计算结果不同。

然后,向服务器发送服务请求信息,客户端向服务器发送服务请求信息时,服务请求信息中需要携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果。

该计算结果是服务器判别服务请求信息是否有效的依据。

在服务器接收到服务请求信息之后,从该服务请求信息中解析出该计算结果,并对该计算结果进行校验,如果该计算结果正确,说明客户端进行了计算,该服务请求信息有效,然后服务器响应该服务请求信息,执行下一步操作。

例如,客户端接收到的计算参数为一个字符串aaaa,客户端将该字符串aaaa输入至预先设置的一个加密算法进行计算,输出的计算结果为1234,服务器接收客户端发送的携带有计算结果为1234的服务请求信息后,解析出该计算结果1234,然后,服务器对该计算结果1234进行校验,经过校验,如果针对计算参数aaaa,经过该加密算法计算后,得到的计算结果正是1234,则得出该计算结果1234正确,该服务请求信息有效,然后服务器执行下一步操作,例如,根据服务请求信息向客户端反馈服务数据等。

本发明实施例提供的服务请求有效性验证方法,通过在服务请求信息中携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果,对服务请求信息进行有效性验证,使客户端在发送服务请求信息之前,需要消耗一定的计算资源,增加发送服务请求信息的成本,减少了恶意的请求,避免了服务器资源的浪费。

在上述实施例的基础上,进一步地,所述根据获取到的计算参数,利用预设算法进行计算得到的计算结果之前,还包括:

向所述服务器发送客户端的安装环境信息,以供所述服务器向所述客户端下发与所述安装环境信息相匹配的计算参数。

具体来说,在根据获取到的计算参数,利用预设算法进行计算得到的计算结果之前,客户端首先需要将自身的安装环境信息上报给服务器。

服务器需要根据获取到的客户端的安装环境信息,来确定与客户端的安装环境信息相匹配的计算参数,并向客户端下发与安装环境相匹配的计算参数,以供客户端根据计算参数,利用预设算法进行计算得到计算结果。

客户端的安装环境信息用来指示客户端的本地计算能力,服务器会根据不同的安装环境信息来下发不同的计算参数。另外,不同的安装环境预设算法也可以不同。

本发明实施例提供的服务请求有效性验证方法,通过在服务请求信息中携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果,对服务请求信息进行有效性验证,使客户端在发送服务请求信息之前,需要消耗一定的计算资源,增加发送服务请求信息的成本,减少了恶意的请求,避免了服务器资源的浪费。

图2为本发明实施例提供的服务器示意图,如图2所示,本发明实施例提供一种服务器,该服务器包括接收模块201和校验模块202,其中:

接收模块201用于接收客户端发送的服务请求信息,所述服务请求信息中携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果;

校验模块202用于若判断获知所述计算结果正确,则响应所述服务请求信息。

具体来说,客户端向服务器发送服务请求信息时,服务请求信息中需要携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果。计算参数可以是由字符组成的字符串,也可以是文字等其他参数。预设算法可以使用加密算法,或者其他算法,不同的计算参数输入到该预设算法后,输出的计算结果不同。

该计算结果是服务器判别服务请求信息是否有效的依据。

在服务器通过接收模块201接收到服务请求信息之后,从该服务请求信息中解析出该计算结果,并通过校验模块202对该计算结果进行校验,如果该计算结果正确,说明客户端进行了计算,该服务请求信息有效,然后服务器响应该服务请求信息,执行下一步操作。

例如,客户端接收到的计算参数为一个字符串aaaa,客户端将该字符串aaaa输入至预先设置的一个加密算法进行计算,输出的计算结果为1234,服务器接收客户端发送的携带有计算结果为1234的服务请求信息后,解析出该计算结果1234,然后,服务器对该计算结果1234进行校验,经过校验,如果针对计算参数aaaa,经过该加密算法计算后,得到的计算结果正是1234,则得出该计算结果1234正确,该服务请求信息有效,然后服务器执行下一步操作,例如,根据服务请求信息向客户端反馈服务数据等。

本发明实施例提供的服务器,通过在服务请求信息中携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果,对服务请求信息进行有效性验证,使客户端在发送服务请求信息之前,需要消耗一定的计算资源,增加发送服务请求信息的成本,减少了恶意的请求,避免了服务器资源的浪费。

本发明实施例提供一种客户端,该客服端包括计算模块和请求模块,其中:

计算模块用于根据获取到的计算参数,利用预设算法进行计算得到的计算结果;

请求模块用于向服务器发送服务请求信息,所述服务请求信息中携带有所述计算结果,以供所述服务器根据所述计算结果验证所述服务请求信息的有效性。

具体来说,首先,客户端通过计算模块根据服务器下发的计算参数,利用预设算法进行计算得到的计算结果。

计算参数可以是由字符组成的字符串,也可以是文字等其他参数。预设算法可以使用加密算法,或者其他算法,不同的计算参数输入到该预设算法后,输出的计算结果不同。

然后,通过请求模块向服务器发送服务请求信息,客户端向服务器发送服务请求信息时,服务请求信息中需要携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果。

该计算结果是服务器判别服务请求信息是否有效的依据。

在服务器接收到服务请求信息之后,从该服务请求信息中解析出该计算结果,并对该计算结果进行校验,如果该计算结果正确,说明客户端进行了计算,该服务请求信息有效,然后服务器响应该服务请求信息,执行下一步操作。

例如,客户端接收到的计算参数为一个字符串aaaa,客户端将该字符串aaaa输入至预先设置的一个加密算法进行计算,输出的计算结果为1234,服务器接收客户端发送的携带有计算结果为1234的服务请求信息后,解析出该计算结果1234,然后,服务器对该计算结果1234进行校验,经过校验,如果针对计算参数aaaa,经过该加密算法计算后,得到的计算结果正是1234,则得出该计算结果1234正确,该服务请求信息有效,然后服务器执行下一步操作,例如,根据服务请求信息向客户端反馈服务数据等。

本发明实施例提供的客户端,通过在服务请求信息中携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果,对服务请求信息进行有效性验证,使客户端在发送服务请求信息之前,需要消耗一定的计算资源,增加发送服务请求信息的成本,减少了恶意的请求,避免了服务器资源的浪费。

图3为本发明实施例提供的电子设备的结构示意图,如图3所示,所述设备包括:处理器301、存储器302和总线303;

其中,处理器301和存储器302通过所述总线303完成相互间的通信;

处理器301用于调用存储器302中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:接收客户端发送的服务请求信息,所述服务请求信息中携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果;若判断获知所述计算结果正确,则响应所述服务请求信息。

或者包括:根据获取到的计算参数,利用预设算法进行计算得到的计算结果;向服务器发送服务请求信息,所述服务请求信息中携带有所述计算结果,以供所述服务器根据所述计算结果验证所述服务请求信息的有效性。

本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:接收客户端发送的服务请求信息,所述服务请求信息中携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果;若判断获知所述计算结果正确,则响应所述服务请求信息。

或者包括:根据获取到的计算参数,利用预设算法进行计算得到的计算结果;向服务器发送服务请求信息,所述服务请求信息中携带有所述计算结果,以供所述服务器根据所述计算结果验证所述服务请求信息的有效性。

本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:接收客户端发送的服务请求信息,所述服务请求信息中携带有客户端根据获取到的计算参数,利用预设算法进行计算得到的计算结果;若判断获知所述计算结果正确,则响应所述服务请求信息。

或者包括:根据获取到的计算参数,利用预设算法进行计算得到的计算结果;向服务器发送服务请求信息,所述服务请求信息中携带有所述计算结果,以供所述服务器根据所述计算结果验证所述服务请求信息的有效性。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的装置及设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1