网络请求处理的方法及装置与流程

文档序号:14914647发布日期:2018-07-11 00:23阅读:119来源:国知局

本发明涉及网络请求处理领域,具体而言,涉及一种网络请求处理的方法及装置。



背景技术:

现有技术中,很多的搜索服务器在处理网络请求时,会存在很大的安全性问题,例如,ElasticSearch是一个分布式多用户能力的全文搜索引擎,其采用的标准通信协议是HTTP(超文本传输协议)协议,HTTP协议是无状态协议,而在Elasticsearch中,主要保护的是数据本身的安全,无状态对于数据的保护措施几乎没有,若用户对Elasticsearch的数据进行修改操作,则Elasticsearch不能保证数据的安全。针对这个问题,现有的解决方案是,通过设置一个代理服务器,在Elasticsearch集群接受http请求之前,过滤掉用户修改数据的操作。但是这种方案并不能从根本上保证其安全性,因为网络请求在被过滤后的时间内,从代理服务器到Elasticsearch接收到该网络请求的过程中,可能会出现其它请求的干扰,从而使得该网络请求也可能存在修改数据的操作,这种方案是不可靠的;同时,该方案引入了代理服务器,增加了整个系统的复杂度。

针对上述的网络请求存在安全性问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种网络请求处理的方法及装置,以至少解决网络请求存在安全性的技术问题。

根据本发明实施例的一个方面,提供了一种网络请求处理的方法,包括:搜索服务器获取接收到的网络请求;所述搜索服务器检测所述网络请求是否符合预先设置的过滤条件;所述搜索服务器若检测出所述网络请求符合所述过滤条件,则执行所述网络请求;所述搜索服务器若检测出所述网络请求不符合所述过滤条件,则生成错误信息,其中,所述错误信息用于指示所述网络请求不符合所述过滤条件。

进一步地,所述搜索服务器检测所述网络请求是否符合预先设置的过滤条件包括:所述搜索服务器获取所述网络请求中的操作类型和身份认证信息,其中,所述操作类型为所述网络请求所请求所述搜索服务器执行的操作的类型,所述身份认证信息为发送所述网络请求的用户的身份信息;所述搜索服务器基于所述操作类型和所述身份认证信息,检测所述网络请求是否符合所述预先设置的过滤条件。

进一步地,基于所述操作类型和所述身份认证信息,检测所述网络请求是否符合所述预先设置的过滤条件包括:获取所述身份认证信息对应的操作类型集合;检测所述操作类型是否属于所述操作类型集合;若检测出所述操作类型属于所述操作类型集合,则确定所述网络请求符合所述预先设置的过滤条件;若检测出所述操作类型不属于所述操作类型集合,则确定所述网络请求不符合所述预先设置的过滤条件。

进一步地,所述过滤条件包括下述至少之一:所述身份认证信息指示所述用户通过认证;所述网络请求所请求所述搜索服务器执行的操作类型不包括修改操作和/或删除操作,其中,所述操作类型包括下述至少之一:查询操作、修改操作以及删除操作。

进一步地,在搜索服务器获取接收到的网络请求之前,所述方法还包括:所述搜索服务器接收客户端发送的网络请求;在生成错误信息之后,所述方法还包括:所述搜索服务器向所述客户端发送所述错误信息。

根据本发明实施例的另一方面,还提供了一种网络请求处理的装置,包括:获取单元,用于搜索服务器获取接收到的网络请求;检测单元,用于所述搜索服务器检测所述网络请求是否符合预先设置的过滤条件;执行单元,用于所述搜索服务器若检测出所述网络请求符合所述过滤条件,则执行所述网络请求;生成单元,用于所述搜索服务器若检测出所述网络请求不符合所述过滤条件,则生成错误信息,其中,所述错误信息用于指示所述网络请求不符合所述过滤条件。

进一步地,所述检测单元包括:获取模块,用于所述搜索服务器获取所述网络请求中的操作类型和身份认证信息,其中,所述操作类型为所述网络请求所请求所述搜索服务器执行的操作的类型,所述身份认证信息为发送所述网络请求的用户的身份信息;检测模块,用于所述搜索服务器基于所述操作类型和所述身份认证信息,检测所述网络请求是否符合所述预先设置的过滤条件。

进一步地,所述检测模块包括:获取子模块,用于获取所述身份认证信息对应的操作类型集合;检测子模块,用于检测所述操作类型是否属于所述操作类型集合;第一确定子模块,用于若检测出所述操作类型属于所述操作类型集合,则确定所述网络请求符合所述预先设置的过滤条件;第二确定子模块,用于若检测出所述操作类型不属于所述操作类型集合,则确定所述网络请求不符合所述预先设置的过滤条件。

进一步地,所述过滤条件包括下述至少之一:所述身份认证信息指示所述用户通过认证;所述网络请求所请求所述搜索服务器执行的操作类型不包括修改操作和/或删除操作,其中,所述操作类型包括下述至少之一:查询操作、修改操作以及删除操作。

进一步地,所述装置还包括:接收单元,用于在搜索服务器获取接收到的网络请求之前,所述搜索服务器接收客户端发送的网络请求;发送单元,用于在生成错误信息之后,所述搜索服务器向所述客户端发送所述错误信息。

在本发明实施例中,搜索服务器可以获取接收到的网络请求,在获取到网络请求后,可以检测该网络请求是否符合预先设置的过滤条件,若检测出网络请求符合过滤条件,则执行网络请求;若检测出网络请求不符合过滤条件,则生成错误信息,其中,错误信息用于指示网络请求不符合过滤条件。根据本发明实施方式,搜索服务器可以在获取到网络请求后,对网络请求的内容进行检测,判断出网络请求是否符合过滤条件,对不符合过滤条件的,可以返回一个错误信息。从而可以使得搜索服务器自身检测网络请求,对存在安全性问题的网络请求进行过滤,而不是在搜索服务器接收到网络请求之前进行过滤,提高了处理网络请求的安全性,解决网络请求存在安全性的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的网络请求处理的方法的流程图一;

图2是根据本发明实施例的另一种可选的网络请求处理的方法的流程图二;

图3是根据本发明实施例的一种可选的网络请求处理管道的示意图;

图4是根据本发明实施例的另一种可选的网络请求处理的装置的结构图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:

ElasticSearch:是基于Lucene的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。

HTTP协议:HyperText Transfer Protocol,超文本传输协议,是用于从WWW服务器传输超文本到本地浏览器的传输协议。

HTTP无状态协议:是指协议对于事务处理没有记忆能力,缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。

根据本发明实施例,提供了一种网络请求处理的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种可选的网络请求处理的方法的流程图一,如图1所示,该方法包括如下步骤:

步骤S102,搜索服务器获取接收到的网络请求;

步骤S104,搜索服务器检测网络请求是否符合预先设置的过滤条件;

步骤S106,搜索服务器若检测出网络请求符合过滤条件,则执行网络请求;

步骤S108,搜索服务器若检测出网络请求不符合过滤条件,则生成错误信息,其中,错误信息用于指示网络请求不符合过滤条件。

通过上述实施方式,搜索服务器可以获取接收到的网络请求,在获取到网络请求后,可以检测该网络请求是否符合预先设置的过滤条件,若检测出网络请求符合过滤条件,则执行网络请求;若检测出网络请求不符合过滤条件,则生成错误信息,其中,错误信息用于指示网络请求不符合过滤条件。根据本发明实施方式,搜索服务器可以在获取到网络请求后,对网络请求的内容进行检测,判断出网络请求是否符合过滤条件,对不符合过滤条件的,可以返回一个错误信息。从而可以使得搜索服务器自身检测网络请求,对存在安全性问题的网络请求进行过滤,而不是在搜索服务器接收到网络请求之前进行过滤,提高了处理网络请求的安全性,解决网络请求存在安全性的技术问题。

可选的,上述实施方式可以应用于搜索服务器中,该搜索服务器可以用于接收网络请求,并根据网络请求的内容,输出相应的数据,或者对搜索服务器中存储的网络数据进行相应的修改。例如,使用ElasticSearch搜索服务器,查询网络关键词,该关键词可以为搜索关键词,例如,名字、地点、图片、以及视频等。

另一种可选的实施方式,在步骤S102提供的技术方案中,搜索服务器获取接收到的网络请求。在本发明实施方式中,可以利用搜索服务器直接接收网络请求,该网络请求的内容可以包括多种类型或操作,其中,网络请求的操作可以包括查询操作、修改操作、以及删除操作等,其中,查询操作可以是查询搜索服务器中存储的数据,修改操作可以是请求修改搜索服务器中的数据,删除操作可以是请求修改搜索服务器中的数据。查询的类型,可以包括上述的名字、地点、图片、视频以及天气等。

可选的,在步骤S104提供的技术方案中,搜索服务器检测网络请求是否符合预先设置的过滤条件。若是,执行步骤S106,若否,可以执行步骤S108。

可选的,步骤S106,搜索服务器若检测出网络请求符合过滤条件,则执行网络请求。其中,执行网络请求可以为根据网络请求的内容输出对应的结果,例如,网络请求为查询“周杰伦”的个人资料,则搜索服务器可以将有关“周杰伦”的个人信息的网站发送到客户端中;若网络请求为修改“周杰伦”的个人信息,则可以根据该网络的修改内容,将对应的内容进行修改。

其中,该客户端可以为智能终端,该智能终端可以包括智能手机、PC等,客户端可以用于发送网络请求,并查看到搜索服务器返回的执行结果。

另一种可选的实施方式,步骤S108,搜索服务器若检测出网络请求不符合过滤条件,则生成错误信息,其中,错误信息用于指示网络请求不符合过滤条件。即可以根据不符合过滤条件的网络请求生成对应于该网络请求的错误信息提示页面,例如,发送“您请求的信息有误,请重新输入”。

可选的,在检测网络请求是否符合过滤条件的是否,可以判断该网络请求是否存在符合敏感操作的内容,其中,敏感操作可以包括修改搜索服务器中的数据。若判断出网络请求中存在敏感操作,则需要对发送网络请求的用户进行权限验证,其中,权限可以包括用户权限和管理员权限,用户权限可以查询搜索服务器中的数据,但不可以修改或删除搜索服务器中的数据;而管理员权限可以对搜索服务器中的数据进行查询、修改以及删除操作。

若验证得到用户的权限为用户权限,则不响应符合敏感操作的网络请求,并返回一个错误信息,若验证得到用户的权限为管理员权限,则可以响应网络请求,并执行该网络请求。

在上述实施方式,通过对用户的权限进行验证,判断出是否可以执行网络请求。

可选的,搜索服务器检测网络请求是否符合预先设置的过滤条件包括:搜索服务器获取网络请求中的操作类型和身份认证信息,其中,操作类型为网络请求所请求搜索服务器执行的操作的类型,身份认证信息为发送网络请求的用户的身份信息;搜索服务器基于操作类型和身份认证信息,检测网络请求是否符合预先设置的过滤条件。

其中,操作类型可以包括多种,例如,查询操作、修改操作、以及删除操作等,网络请求中可以携带请求搜索服务器执行的操作的类型,身份信息可以包括用户身份信息和管理员身份信息,其中,在验证身份信息时,可以是验证网络请求携带的身份信息。在验证身份信息之前,可以通过验证身份信息中用户名和密码来验证身份信息是否正确,若验证得到身份信息中用户名和密码来验证身份信息正确,则可以查询搜索服务器中存储的身份信息表来获取到身份信息,然后,根据身份信息来得到用户的权限信息,其中,身份信息表可以是预先存储在服务器中,该表中存储了用户的用户名和密码以及对应用户权限信息。

可选的,搜索服务器在得到网络请求的操作类型和身份信息后,可以检测网络请求是否符合预先设置的过滤条件,其中,过滤条件可以包括:获取身份认证信息对应的操作类型集合;检测操作类型是否属于操作类型集合;若检测出操作类型属于操作类型集合,则确定网络请求符合预先设置的过滤条件;若检测出操作类型不属于操作类型集合,则确定网络请求不符合预先设置的过滤条件。

对于上述实施方式,在获取到身份认证信息对应的操作类型集合后,可以判断操作类型是否属于对应的操作类型集合,其中,操作类型集合可以包括上述修改操作和删除操作等,在获取到网络请求后,可以检测该网络请求中是否存在操作类型集合中的操作,若检测出操作类型属于操作类型集合,则确定网络请求符合预先设置的过滤条件,这时,可以生成错误信息;若检测出操作类型不属于操作类型集合,则确定网络请求不符合预先设置的过滤条件,这时,可以根据该网络请求的内容,执行网络请求。

另一种可选的实施方式,过滤条件包括下述至少之一:身份认证信息指示用户通过认证;网络请求所请求搜索服务器执行的操作类型不包括修改操作和/或删除操作,其中,操作类型包括下述至少之一:查询操作、修改操作以及删除操作。

可选的,根据上述实施方式,可以使得在身份认证信息指示用户未通过认证的情况下,限制该用户的操作,若身份认证信息指示用户未通过认证,则该用户在搜索服务器执行的操作类型可以为查询操作,即未通过身份认证的用户可以进行查询操作,但是不可以对搜索服务器中的数据进行修改或删除等操作。若身份认证信息指示用户通过认证(即用户身份为管理员),则可以进行其它的操作,如修改操作。

在实施方式中,可以通过验证用户输入的身份信息是否正确的方式,来对网络请求内容进行不同操作,从而对不符合身份认证信息的网络请求,可以生成一个错误信息,并将该错误信息返回到客户端中,从而告知用户不能进行修改或者删除搜索服务器的操作,这样可以对网络请求进行相关的过滤,保证搜索服务器数据的安全性。

另一种可选的实施方式,在搜索服务器获取接收到的网络请求之前,方法还包括:搜索服务器接收客户端发送的网络请求;在生成错误信息之后,方法还包括:搜索服务器向客户端发送错误信息。即在获取接收的网络请求之前,需要接收客户端发送的网路请求;若检测到网络请求符合过滤条件,则在生成错误信息之后,可以将该错误信息返回到客户端中,以让用户知道该网络请求是错误的;若检测到网络请求不符合过滤条件,则在执行网络请求后,可以将该执行结果后的信息返回到客户端中。

下面是根据本发明的具体的实施方式。

在本发明实施方式中,搜索服务器可以为Elasticsearch数据存储系统,本发明提出一种工作于Elasticsearch系统服务端的,对用户使用网络请求验证机制,对Elasticsearch系统接收到的网络请求进行验证,匹配实际的业务需求规则,对符合规则的网络请求,可以执行该网络请求;而对于不符合规则的网络请求,可以返回一个错误信息提示。

图2是根据本发明实施例的另一种可选的网络请求处理的方法的流程图二,如图2所示,该方法包括如下步骤:

步骤S202,确定搜索服务器的安全需求。

由于Elasticsearch数据存储系统的数据操作可以直接通过无状态的网络请求进行,没有对网络请求的操作类型(如修改搜索服务器的数据)进行验证,在这种情况下,只需要知道Elasticsearch系统的服务器地址,即可对系统中的数据进行修改或删除等操作,且没有任何操作记录信息,针对Elasticsearch的这种机制,确定出Elasticsearch存在网络请求安全问题。

步骤S204,根据搜索服务器的安全需求,建立网络请求验证器。

在本发明实施方式中,对Elasticsearch系统的网络请求,Elasticsearch在接收到网络请求后,搜索服务器可以获取该网络请求,并对网络请求的内容进行具体分析。在这个过程中,我们加入自定义的网络请求处理器,就能够实现我们的特定安全需求,例如,通过设置网络请求安全规则来建立网络请求处理器,其中,安全规则可以是未通过认证的请求方(如,普通用户)只能够查询数据,但是不能修改或删除数据;而通过认证的请求方(如,系统管理员)可以修改或删除。根据上述实施方式,可以产生一个Elasticsearch系统能够理解的网络请求验证装置。该网络请求验证装置可以先读取Elasticsearch系统配置信息,该配置信息可以包括操作类型(如查询操作、修改操作以及删除操作等)、用户身份信息等;可以根据实际业务需求,建立一个满足Elasticsearch标准的过滤器,该过滤器可以过滤携带敏感操作的网络请求;然后,可以将获取到的过滤器与Elasticsearch系统处理器进行适配,从而得到一个网络请求验证器。

步骤S206,将网络请求验证器注入Elasticsearch请求处理管道。

如图3所示,将该验证器加入Elasticsearch系统的网络请求处理过程之中,其中,可以Elasticsearch系统对网络请求的处理流程可以看作一个管道,管道包括若干个网络请求处理器,网络请求在这个处理管道中顺序传递,在传递的过程中,网络请求被每个请求处理器进行处理,在处理完毕后最终得到结果,再由这个管道将网络请求执行结果传递给网络请求发送方(即上述的客户端)。如图3所示,该通道中的网络请求处理器Elasticsearch请求处理器和网络请求验证器。如图3所示的示例中,客户端发送网络请求。

在图3中,可以将网络请求验证器加入到Elasticsearch处理管道中,在获取到网络请求后,则可以对该网络请求进行操作类型和身份认证,若网络请求中有请求修改或删除等操作,需要验证其身份信息,若身份认证没有通过,则可以返回错误信息,若身份认证通过,则可以继续到下一个请求处理器进行相应的处理。

可选的,在将网络请求验证器注入Elasticsearch系统后,可以开始在搜索服务器工作,所有系统用户的正常使用方式并未发生改变,因此不需要系统用户改变其使用模式,但是,对Elasticsearch系统内的数据,普通用户将不能进行敏感操作(如删除操作),从而确保了系统数据的只读性及安全性。

本发明实施方式在Elasticsearch系统内部实现数据安全的需求,取消代理服务器处理的方式,保证Elasticsearch响应的网络请求是系统处理过的并且没有被篡改的,同时也降低了整个系统的复杂度。

图4是根据本发明实施例的另一种可选的网络请求处理的装置的结构图,如图4所示,该装置包括:获取单元41,用于搜索服务器获取接收到的网络请求;检测单元43,用于搜索服务器检测网络请求是否符合预先设置的过滤条件;执行单元45,用于搜索服务器若检测出网络请求符合过滤条件,则执行网络请求;生成单元47,用于搜索服务器若检测出网络请求不符合过滤条件,则生成错误信息,其中,错误信息用于指示网络请求不符合过滤条件。

通过上述实施方式,搜索服务器可以通过获取单元41获取接收到的网络请求,在获取到网络请求后,可以通过检测单元43检测该网络请求是否符合预先设置的过滤条件,若检测出网络请求符合过滤条件,则通过执行单元45执行网络请求;若检测出网络请求不符合过滤条件,则通过生成单元47生成错误信息,其中,错误信息用于指示网络请求不符合过滤条件。根据本发明实施方式,搜索服务器可以在获取到网络请求后,对网络请求的内容进行检测,判断出网络请求是否符合过滤条件,对不符合过滤条件的,可以返回一个错误信息。从而可以使得搜索服务器自身检测网络请求,对存在安全性问题的网络请求进行过滤,而不是在搜索服务器接收到网络请求之前进行过滤,提高了处理网络请求的安全性,解决网络请求存在安全性的技术问题。

可选的,检测单元包括:获取模块,用于搜索服务器获取网络请求中的操作类型和身份认证信息,其中,操作类型为网络请求所请求搜索服务器执行的操作的类型,身份认证信息为发送网络请求的用户的身份信息;检测模块,用于搜索服务器基于操作类型和身份认证信息,检测网络请求是否符合预先设置的过滤条件。

另一种可选的实施方式,检测模块包括:获取子模块,用于获取身份认证信息对应的操作类型集合;检测子模块,用于检测操作类型是否属于操作类型集合;第一确定子模块,用于若检测出操作类型属于操作类型集合,则确定网络请求符合预先设置的过滤条件;第二确定子模块,用于若检测出操作类型不属于操作类型集合,则确定网络请求不符合预先设置的过滤条件。

其中,过滤条件包括下述至少之一:身份认证信息指示用户通过认证;网络请求所请求搜索服务器执行的操作类型不包括修改操作和/或删除操作,其中,操作类型包括下述至少之一:查询操作、修改操作以及删除操作。

对于上述实施方式,装置还包括:接收单元,用于在搜索服务器获取接收到的网络请求之前,搜索服务器接收客户端发送的网络请求;发送单元,用于在生成错误信息之后,搜索服务器向客户端发送错误信息。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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