一种业务处理方法及系统、存储介质、计算机设备
技术领域
本说明书的实施例涉及互联网技术领域,尤其涉及一种业务处理方法及系统、存储介质、计算机设备。
背景技术
随着互联网技术的不断发展,人们也享受到了科技发展带来的各种便利。现在人们可以通过各种类型的电子设备,享受随着科技发展带来的舒适生活。当前的互联网的信息交流,通常都是通过终端之间的业务数据的交互来实现。业务处理的可靠性显得尤为重要。
发明内容
本说明书的实施例了提供了一种业务处理方法及系统、存储介质、计算机设备,以提供更可靠的业务处理方案,来解决或者部分解决业务数据不安全的技术问题。
为解决上述技术问题,本说明书的实施例提供了一种业务处理方法,所述方法包括:
利用业务处理逻辑判断由客户端发送的待处理业务是否为合法业务;其中,所述业务处理逻辑用于定义处理所述待处理业务的方法,进而处理所述待处理业务;
若所述待处理业务为合法业务,则调用所述业务处理逻辑处理所述待处理业务。
本说明书的实施例公开了一种业务处理系统,包括:
第一判断模块,用于利用业务处理逻辑判断由客户端发送的待处理业务是否为合法业务;其中,所述业务处理逻辑用于定义处理所述待处理业务的方法,进而处理所述待处理业务;
处理模块,用于若所述待处理业务为合法业务,则调用所述业务处理逻辑处理所述待处理业务。
本说明书的实施例公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本说明书的实施例公开了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
通过本说明书的实施例的一个或者多个技术方案,本说明书的实施例具有以下有益效果或者优点:
本说明书的实施例公开了一种业务处理方法及系统、存储介质、计算机设备,通过利用业务处理逻辑判断由客户端发送的待处理业务是否为合法业务。由于业务处理逻辑的作用是处理所述待处理业务;故而提前使用业务处理逻辑对待处理业务进行判断,若所述待处理业务为合法业务,才调用所述业务处理逻辑处理所述待处理业务。能够过滤掉不需要的非法业务,避免这些不需要的非法业务数据在后续的业务处理逻辑中被使用,能够保证业务处理逻辑处理的业务都是安全合法的业务,进而能够避免不安全数据侵入的风险,进而保证数据处理的安全性。
上述说明仅是本说明书的实施例技术方案的概述,为了能够更清楚了解本说明书的实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本说明书的实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本说明书的实施例的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本说明书的实施例的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本说明书的实施例一个实施例的业务处理方法的方法流程图;
图2示出了根据本说明书的实施例一个实施例的业务处理系统的示意图;
图3示出了根据本说明书的实施例一个实施例的计算机设备的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本说明书的实施例提供了一种业务处理方法。本方法对应有一所述业务处理逻辑,用于定义处理所述待处理业务的方法,进而处理所述待处理业务。
该业务处理逻辑由开发者编辑开发,需要定义处理业务数据的方法,本说明书的实施例使用更安全的入参形式来使用用户数据。具体来说,本说明书的实施例明确的为每个使用用户数据的方法定义了输入参数,然后用定义好的输入参数去验证用户提交的业务数据,本实施例将定义好的输入参数称之为预设业务参数。未定义的输入参数,即使用户提交了业务数据,本说明书的实施例也不会对其验证,故而可以保证后续业务逻辑中使用的都是经过校验的安全数据。
下面请参看图1,是本说明书的实施例中的方法流程图,该方法包括:
步骤11,利用业务处理逻辑判断由客户端发送的待处理业务是否为合法业务。
业务处理逻辑中,包含有预设参数和预设参数类型。待处理业务是客户端请求处理的处理业务,处于安全考虑通常会在执行业务处理逻辑之前,对提交的待处理业务进行校验。
在利用业务处理逻辑判断由客户端发送的待处理业务是否为合法业务的具体实施过程中,首先可以利用预设参数对待处理业务进行判断。具体来说,作为一种可选的实施例,可以从所述业务处理逻辑中提取出对应的预设参数。预设参数可以使用列表的形式展示。然后基于所述预设参数,从所述待处理业务中提取出所述预设参数对应的业务参数;然后将所述业务参数作为所述合法业务。
举例来说,本说明书的实施例提供了一段更新用户资料的业务实现,可以更新用户昵称、头像、生日。假设对应的预设参数是nickName、avatar、birthday。如果某个用户通过不正常的手段(比如篡改网络请求)提交了nickName、avatar、birthday、password这四个业务参数。而本说明书的实施例的业务逻辑中整理只能获取到nickName、avatar、birthday这3个预设参数,那么则会从上述4个业务参数中提取出nickName、avatar、birthday,而忽略掉password这个业务参数。如此一来,获得的合法业务就是预先通过业务处理逻辑中的预设参数验证过后的安全的业务数据,进而能够保证业务处理的安全性。
为了进一步说明和解释本发明,下面利用列表的形式进一步说明。具体请参看表1。
表1
业务参数 |
预设参数 |
是否合法 |
nickName |
nickName |
合法 |
avatar |
avatar |
合法 |
birthday |
birthday |
合法 |
password |
|
不合法 |
从表1可以看出,利用预设参数nickName、avatar、birthday,可以从待处理业务中提取出3个合法业务参数nickName、avatar、birthday。而由于预设参数没有password,故而这个业务参数是不合法的,不会被执行。
上述实施例是基于业务处理逻辑中的预设参数中直接从待处理业务中提取合法的业务参数的实施例。
而作为一种可选的实施例,可以先从待处理业务中提取出所有的业务参数,然后用从业务处理逻辑中提取的预设参数进行验证。具体的实施过程如下:
从所述待处理业务中提取出所有业务参数;另外,会从所述业务处理逻辑中提取出预设参数;然后将所述待处理业务中提取出的所有业务参数和所述业务处理逻辑中提取出的预设参数业务进行对比,获得和所述业务处理逻辑中提取出的预设参数业务一致的业务参数;最后将和所述业务处理逻辑中提取出的预设参数业务一致的业务参数作为所述合法业务。
承接上述举例,会提取到篡改网络请求获得的nickName、avatar、birthday、password这4个业务参数。然后从业务处理逻辑中提取出nickName、avatar、birthday这3个预设参数,将上述4个业务参数和这3个预设参数进行对比,然后提取出和3个预设参数一致的业务参数作为合法业务。
以上是利用业务参数为判断标准判断待处理业务是否为合法业务的具体实施过程,进一步的,由于业务处理逻辑还包括有预设参数类型,故而可以在确定了业务参数的情况下,进一步判断业务参数的类型是否和预设参数类型一致。具体请参看下面的实施过程:
从所述业务处理逻辑中提取出所述预设参数对应的预设参数类型;判断所述业务参数的参数类型是否和所述预设参数类型一致;若所述业务参数的参数类型和所述预设参数类型一致,则将所述业务参数作为所述合法业务。
具体来说,预设参数的个数有一个或者多个。若有只有一个,则判断所述业务参数的参数类型是否和所述预设参数类型一致即可。
若有多个业务参数类型,那么每个预设参数可以对应各自的预设参数类型,或者所有的预设参数也可以直接对应一个参数类型。
故而,在判断所述业务参数的参数类型是否和所述预设参数类型一致的过程中,判断一个或者多个业务参数的参数类型是否都和各自的预设参数类型一致;若都一致,则表示所述一个或者多个业务参数都为所述合法业务,若有第一业务参数的参数类型和对应的预设参数类型不同,则该第一业务参数是非法业务,则不会调用业务处理逻辑处理该第一业务参数,而会处理判断出的其他参数类型和对应的预设参数类型的业务参数。进一步的,若判断出有第一业务参数的参数类型和对应的预设参数类型不同,那么也可以所有的业务参数都不会被处理。
参看表2,是业务参数、业务参数的参数类型、预设参数、预设参数类型的对应关系。
表2
从表2中可以看出,avatar的业务参数由于参数类型和预设参数类型不同,故而是不合法的,那么在处理时,可以只处理合法的业务参数nickName、birthday。当然,只要是有其中一个业务参数不合法(例如avatar的业务参数不合法),那么所有的业务参数都不处理。
进一步的,可以基于业务参数找出对应的预设参数,然后根据预设参数获取到对应的预设参数类型,然后再对比业务参数对应的参数类型是否和对应的预设参数类型一致。
若所有的业务参数对应的预设参数类型只有一个,那么则将所有的业务参数的参数类型都和该预设参数类型对比,若所有的业务参数的参数类型都和该与社会参数类型一致,则表示所有的业务参数都为合法业务,若有业务参数的参数类型都和该与社会参数类型不同,则表示所有的业务参数都为非法业务,则所有的业务参数都不会处理。
承接上述举例,如果avatar的格式一定要是http://开头的地址,如果恶意的用户提交了c://user/xxx/xxx.excel,那么则会判断出avatar是非法参数,如果其他参数nickName、birthday的类型验证出和各自的预设参数类型一致,那么则不会执行更新avatar的动作,但是会更新nickName、birthday。另一种可能是,如果avatar验证出是非法参数,则直接拒绝执行更新用户资料的动作,否则的话,就有可能构造恶意的url访问服务器上的文件。
步骤13,若所述待处理业务为合法业务,则调用所述业务处理逻辑处理所述待处理业务。
在具体的处理合法业务的实施过程中,会调用所述业务处理逻辑处理所述业务参数。
以上便是本说明书的实施例中的业务处理方法,通过利用业务处理逻辑判断由客户端发送的待处理业务是否为合法业务。由于业务处理逻辑的作用是处理所述待处理业务;故而提前使用业务处理逻辑对待处理业务进行判断,若所述待处理业务为合法业务,才调用所述业务处理逻辑处理所述待处理业务。能够过滤掉不需要的非法业务,避免这些不需要的非法业务数据在后续的业务处理逻辑中被使用,能够保证业务处理逻辑处理的业务都是安全合法的业务,进而能够避免不安全数据侵入的风险,进而保证数据处理的安全性。
上述业务处理方法实际上可以应用到多个场景中,例如支付场景、视频直播场景、视频通话场景、文字聊天场景、搜索场景等等。下面以支付场景为例进行说明。
在购物页面上,当用户购物之后会自动生成一支付页面展示给用户,以供用户支付。用户在支付页面上输入用户的银行卡、密码、验证码等等之后,则会将这些信息发送给支付类服务器进行处理验证。
在客户端发送给服务器的支付请求中,就携带了银行卡、密码、验证码、电话号码等等数据。
而在服务器的处理过程中,服务器会生成一业务处理逻辑验证用户输入的银行卡、密码、验证码等等数据的合法性,验证通过之后才会进一步调用该业务处理逻辑处理该支付请求。
具体来说,服务器会从业务处理逻辑中提取出具体的预设参数,例如:银行卡、密码、验证码这三个预设参数。然后基于这3个预设参数从支付请求中调用出银行卡、密码、验证码,调用出的这3个业务参数会进一步验证其参数类型是否是预设参数类型。预设参数类型也是从业务处理逻辑中调用产生。如果验证出这3个业务参数的参数类型和与预设参数类型一致,那么就判断这3个业务参数是合法业务,然后进一步调用该业务处理逻辑来处理该业务参数完成支付。而未被调用的参数例如电话号码则看做是非法业务参数进而忽略执行。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,本说明书的实施例提供了一种业务处理系统。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。具体来说,该业务处理系统可以看做是服务器。
参看图2,该业务处理系统包括:
第一判断模块21,用于利用业务处理逻辑判断由客户端发送的待处理业务是否为合法业务;其中,所述业务处理逻辑用于处理所述待处理业务;
处理模块22,用于若所述待处理业务为合法业务,则调用所述业务处理逻辑处理所述待处理业务。
作为一种可选的实施例,所述第一判断模块21,具体包括:
第一提取模块,用于从所述业务处理逻辑中提取出对应的预设参数;
第二提取模块,用于基于所述预设参数,从所述待处理业务中提取出所述预设参数对应的业务参数;
第一确定模块,用于将所述业务参数作为所述合法业务。
作为一种可选的实施例,所述第二提取模块之后,所述方法还包括:
第三提取模块,用于从所述业务处理逻辑中提取出所述预设参数对应的预设参数类型;
第二判断模块,用于判断所述业务参数的参数类型是否和所述预设参数类型一致;
第二确定模块,用于若所述业务参数的参数类型和所述预设参数类型一致,则将所述业务参数作为所述合法业务。
作为一种可选的实施例,所述第二判断模块,具体用于判断所述业务参数的参数类型是否都和各自的预设参数类型一致;若都一致,则表示所述业务参数为所述合法业务。
作为一种可选的实施例,所述处理模块22具体用于调用所述业务处理逻辑处理所述业务参数。
作为一种可选的实施例,所述第一判断模块21,具体包括:
第四提取模块,用于从所述待处理业务中提取出所有业务参数;
第五提取模块,用于从所述业务处理逻辑中提取出预设参数;
对比模块,用于将所述待处理业务中提取出的所有业务参数和所述业务处理逻辑中提取出的预设参数业务进行对比,获得和所述业务处理逻辑中提取出的预设参数业务一致的业务参数;
第三确定模块,用于将和所述业务处理逻辑中提取出的预设参数业务一致的业务参数作为所述合法业务。
基于与前述实施例中同样的发明构思,本说明书的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文任一所述方法的步骤。
基于与前述实施例中同样的发明构思,本说明书的实施例还提供一种计算机设备,如图3所示,包括存储器304、处理器302及存储在存储器304上并可在处理器302上运行的计算机程序,所述处理器302执行所述程序时实现前文任一所述方法的步骤。
其中,在图3中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口305在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
通过本说明书的实施例的一个或者多个实施例,本说明书的实施例具有以下有益效果或者优点:
本说明书的实施例公开了一种业务处理方法及系统、存储介质、计算机设备,通过利用业务处理逻辑判断由客户端发送的待处理业务是否为合法业务。由于业务处理逻辑的作用是处理所述待处理业务;故而提前使用业务处理逻辑对待处理业务进行判断,若所述待处理业务为合法业务,才调用所述业务处理逻辑处理所述待处理业务。能够过滤掉不需要的非法业务,避免这些不需要的非法业务数据在后续的业务处理逻辑中被使用,能够保证业务处理逻辑处理的业务都是安全合法的业务,进而能够避免不安全数据侵入的风险,进而保证数据处理的安全性。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本说明书的实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本说明书的实施例的内容,并且上面对特定语言所做的描述是为了披露本说明书的实施例的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本说明书的实施例的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本说明书的实施例的示例性实施例的描述中,本说明书的实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本说明书的实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本说明书的实施例的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本说明书的实施例的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本说明书的实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本说明书的实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本说明书的实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本说明书的实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本说明书的实施例进行说明而不是对本说明书的实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本说明书的实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。