一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

异常请求的检测方法、装置、电子设备及计算机可读介质与流程

2021-10-23 01:34:00 来源:中国专利 TAG:请求 异常 互联网 电子设备 介质


1.本公开涉及互联网技术领域,具体而言,涉及一种异常请求的检测方法、异常请求的检测装置、电子设备及计算机可读介质。


背景技术:

2.随着电子商务的高速发展,网络购物已成为人们生活中不可缺少的一个购物方式。然而在一些电商平台中,除了用户进行网络购物时正常的页面请求以外,还会存在很多接口的异常请求,在造成商家利益损害的同时,也影响了用户正常的购物体验。
3.目前,在对异常请求的检测中,使用的检测方法一般都比较简单,容易造成一定的漏检和误检,检测的准确度和可靠性较低。因此,需要一种新的异常请求的检测方法,能够提高检测的准确性和可靠性。
4.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

5.本公开的目的在于提供一种异常请求的检测方法、异常请求的检测装置、电子设备及计算机可读介质,进而至少在一定程度上提高异常请求检测的准确性和可靠性。
6.根据本公开的第一个方面,提供一种异常请求的检测方法,包括:
7.获取各个页面的网络链接作为各个所述页面的主链接,并分别获取渲染每个页面所需的接口的网络链接作为与所述页面的主链接相关的子链接;
8.根据各个所述页面的主链接以及与所述页面的主链接相关的子链接得到页面链接规则矩阵;
9.获取预设检测时间段内的页面请求记录,并通过所述页面链接规则矩阵对所述页面请求记录中的页面请求进行检测,以确定所述页面请求记录中的异常请求。
10.在本公开的一种示例性实施例中,所述通过所述页面链接规则矩阵对所述页面请求记录中的页面请求进行检测,以确定所述页面请求记录中的异常请求,包括:
11.判断所述页面请求记录中的各个页面请求是否为所述页面链接规则矩阵中的所述主链接对应的主链接请求,或者与所述主链接相关的子链接对应的子链接请求;
12.若所述页面请求不是所述主链接对应的主链接请求,也不是与所述主链接相关的子链接对应的子链接请求,则将所述页面请求确定为异常请求。
13.在本公开的一种示例性实施例中,所述页面请求记录包括所述页面请求的页面请求链接,所述判断所述页面请求记录中的各个页面请求是否为所述页面链接规则矩阵中的所述主链接对应的主链接请求,或者与所述主链接相关的子链接对应的子链接请求,包括:
14.将所述页面请求的页面请求链接与所述页面链接规则矩阵中的主链接进行对比,并判断所述页面请求是否为所述主链接对应的主链接请求;
15.若所述页面请求为所述主链接请求,则从所述页面请求记录中获取与所述主链接
请求之间满足预设请求时间规则的页面请求,作为所述主链接请求对应的待测子链接请求;
16.根据所述待测子链接请求的页面请求记录,通过所述页面链接规则矩阵判断所述待测子链接请求是否为与所述主链接相关的子链接对应的子链接请求。
17.在本公开的一种示例性实施例中,所述页面请求记录还包括所述页面请求的页面请求时间,所述从所述页面请求记录中获取与所述主链接请求之间满足预设请求时间规则的页面请求,作为所述主链接请求对应的待测子链接请求,包括:
18.从所述页面请求记录中获取页面请求时间在所述主链接请求之后的页面请求;
19.判断所述页面请求的页面请求时间与所述主链接请求的页面请求时间之间的时间差是否小于或等于时间差阈值;
20.若所述页面请求与所述主链接请求的页面请求时间之间的时间差小于或等于所述时间差阈值,则将所述页面请求作为所述主链接请求对应的待测子链接请求。
21.在本公开的一种示例性实施例中,所述根据所述待测子链接请求的页面请求记录,通过所述页面链接规则矩阵判断所述待测子链接请求是否为与所述主链接相关的子链接对应的子链接请求,包括:
22.从所述页面链接规则矩阵中获取与所述主链接请求对应的主链接相关的所有子链接,得到所述主链接请求的相关子链接集合;
23.根据所述待测子链接请求的页面请求链接判断所述待测子链接请求是否在所述主链接请求的相关子链接集合中,并判断所述待测子链接请求的页面请求记录是否与所述主链接请求的页面请求记录相匹配;
24.若所述待测子链接请求在所述主链接请求的相关子链接集合中,且所述待测子链接请求的页面请求记录与所述主链接请求相匹配,则所述待测子链接请求为与所述主链接相关的子链接对应的子链接请求。
25.在本公开的一种示例性实施例中,所述页面请求记录还包括所述页面请求的页面请求源地址和用户代理标识,所述判断所述待测子链接请求的页面请求记录是否与所述主链接请求的页面请求记录相匹配,包括:
26.判断所述待测子链接请求的页面请求源地址与所述主链接请求的页面请求源地址是否相同;
27.判断所述待测子链接请求的用户代理标识与所述主链接请求的用户代理标识是否相同;
28.若所述待测子链接请求与所述主链接请求的页面请求源地址和用户代理标识都相同,则所述待测子链接请求的页面请求记录与所述主链接请求的页面请求记录相匹配。
29.在本公开的一种示例性实施例中,在所述确定所述页面请求记录中的异常请求之后,所述方法还包括:
30.若所述页面请求为异常请求,则获取所述异常请求的页面请求源地址和用户代理标识,以得到所述异常请求的异常请求信息。
31.根据本公开的第二方面,提供一种异常请求的检测装置,包括:
32.网络链接获取模块,用于获取各个页面的网络链接作为各个所述页面的主链接,并分别获取渲染每个页面所需的接口的网络链接作为与所述页面的主链接相关的子链接;
33.规则矩阵生成模块,用于根据各个所述页面的主链接以及与所述页面的主链接相关的子链接得到页面链接规则矩阵;
34.页面请求检测模块,用于获取预设检测时间段内的页面请求记录,并通过所述页面链接规则矩阵对所述页面请求记录中的页面请求进行检测,以确定所述页面请求记录中的异常请求。
35.根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的异常请求的检测方法。
36.根据本公开的第四方面,提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的异常请求的检测方法。
37.本公开示例性实施例可以具有以下有益效果:
38.本公开示例实施方式的异常请求的检测方法中,通过建立页面的主链接与子链接之间的关联关系,在此基础上得到页面链接规则矩阵,并通过页面链接规则矩阵对页面请求记录中的异常请求进行检测。本公开示例实施方式中的异常请求的检测方法,一方面,通过建立页面的主链接与子链接之间的关联关系,可以在检测时结合页面的历史访问情况,从而提高异常请求检测的准确性和可靠性;另一方面,通过使用页面链接规则矩阵对异常请求进行检测,可以针对不同的主链接配置不同的链接规则,进而增加异常请求检测方法的可扩展性,并进一步提高异常请求检测的准确性和可靠性。
39.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
40.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1示出了本公开示例实施方式的异常请求的检测方法的流程示意图;
42.图2示出了本公开示例实施方式的确定页面请求记录中异常请求的流程示意图;
43.图3示出了本公开示例实施方式的判断页面请求是否为主链接请求或子链接请求的流程示意图;
44.图4示出了本公开示例实施方式的确定待测子链接请求的流程示意图;
45.图5示出了本公开示例实施方式的判断待测子链接请求是否为子链接请求的流程示意图;
46.图6示出了本公开示例实施方式的判断待测子链接请求是否与主链接请求相匹配的流程示意图;
47.图7示出了根据本公开的一个具体实施例中异常请求的检测方法的模块关系图;
48.图8示出了根据本公开的一个具体实施例中的检测分析模块的流程示意图;
49.图9示出了根据本公开的一个具体实施例中的子链接分析的流程示意图;
50.图10示出了本公开示例实施方式的异常请求的检测装置的框图;
51.图11示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
52.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
53.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
54.在一些相关的实施例中,页面的异常请求可以通过以下几种方法进行检测:
55.(1)基于ip地址检测
56.ip地址(internet protocol address,互联网协议地址)作为请求的源地址,可以通过判定某个地址是否发起大量的接口请求作为判定是否为异常请求的依据。然而,如果大量的异常请求通过动态变化的ip地址进行发起,单纯通过ip地址判定会造成一定的漏检和误检。另外,许多异常请求也可以采用降低请求频率的方式来躲避系统通过ip地址的检测,这种情况下也会出现一定的漏检。
57.(2)基于user-agent检测
58.正常的浏览器发起的请求会带有user-agent(用户代理)信息,通过判定是否存在该user-agent信息可以作为接口异常请求的判定方式。但是,仅通过user-agent信息判定的方式过于简单,大量的异常请求可以自行构造user-agent信息,这种情况下也会造成漏检等情况。
59.(3)基于referer检测
60.基于referer(来源)检测是一种较常用的方式。通过检测referer中的链接是否为空,或者是否与当前请求链接有着关联关系,来判别接口请求是否为异常请求。但是该方式也存在一定的问题,例如,当浏览器直接录入请求链接时,其对应的referer为空,对于这种情况仅检测referer会造成一定的误判,将正常的请求误判为异常请求。另外,通过在请求头中构造referer也能有效的避开检测,因此也会造成一定的漏检。
61.通过上述相关实施例可以看出,单纯对某些参数进行检测,或者检测的规则过于简单,都会造成一定的漏检和误检,异常请求容易构造对应的参数,从而避开检测规则,导致检测的准确度较低。并且,依靠单个请求进行分析检测,未结合历史访问情况,也会存在检测不准确的问题。
62.为了解决上述问题,本示例实施方式提出了一种异常请求的检测方法,通过引入
主链接和子链接的关联关系,对页面请求记录中的数据进行分析,通过统计分析主链接和子链接的访问关系来确定页面请求记录中是否存在异常请求,结合了页面的历史访问情况,可以提高异常请求检测的准确性和可靠性。
63.本示例实施方式首先提供了一种异常请求的检测方法。参考图1所示,上述异常请求的检测方法可以包括以下步骤:
64.步骤s110.获取各个页面的网络链接作为各个页面的主链接,并分别获取渲染每个页面所需的接口的网络链接作为与页面的主链接相关的子链接。
65.本示例实施方式中,主链接指的是用户访问的页面url(uniform resource locator,统一资源定位系统),也就是页面的请求链接;子链接指的是渲染该页面需要的接口链接,即接口请求链接是依赖于页面url,且在页面url请求之后的,因此,主链接和子链接之间具有关联关系。
66.获取各个页面的主链接和与主链接相关的子链接,可以从浏览器的开发调试工具中获取网络请求的相关信息,从中获取各个页面的页面url和相关的接口连接,也可以通过其他方式获取页面的主链接和与主链接相关的子链接,本示例实施方式中不作具体限制。
67.步骤s120.根据各个页面的主链接以及与页面的主链接相关的子链接得到页面链接规则矩阵。
68.正常的浏览器页面的访问过程,一般首先请求主链接,后端服务器进行主链接页面的渲染,然后对返回的内容进行解析,再次请求渲染主链接所依赖的子链接,最终完成内容渲染并展示在界面上。针对不同的页面主链接,通过分析其页面特性,可以获取到不同的相关子链接,从而构造页面上对应的主-子链接规则。每个主链接对应的子链接规则越多,检测的结果越准确。
69.构造页面上对应的主-子链接规则,可以通过建立页面链接规则矩阵来实现。建立页面链接规则矩阵的方法如下:
70.单个页面p1的主链接和子链接的链接规则可以通过rule
p1
表示,具体为:
71.rule
p1
=[mainurl
p1 suburl
p1
]
t
[0072]
其中,mainurl
p1
为主链接的页面请求链接,suburl
p1
为该主链接对应的子链接集合,具体为[suburl
1 suburl2…
suburl
n
],其中n表示第n个子链接。对于需要检测的m个页面的主链接,对应的页面链接规则矩阵rule为:
[0073]
rule=[rule
p1 rule
p2

rule
pm
]
t
[0074]
其中,pm为对应的第m个主链接。
[0075]
步骤s130.获取预设检测时间段内的页面请求记录,并通过页面链接规则矩阵对页面请求记录中的页面请求进行检测,以确定页面请求记录中的异常请求。
[0076]
预设检测时间段内的页面请求记录可以通过请求记录日志,抓取出特定时间段内所有的访问记录并进行整理,得到页面的请求信息。预设检测时间段可以根据检测需求设定为某一天或某一周,本示例实施方式不作具体限制。页面请求记录中的请求数据可以包括请求的页面请求源地址、页面请求链接、页面请求时间和用户代理标识,可以表示为:
[0077]
req=[ip url time agent]
t
[0078]
其中,req表示一条页面请求记录,ip(请求源ip)表示页面请求源地址,url表示页面请求链接,time表示页面请求时间,agent(user-agent信息)表示用户代理标识。
[0079]
获取预设检测时间段内所有的页面请求记录集合,用req表示,具体为:
[0080]
req=[req
1 req2…
req
k
]
t
[0081]
其中,参数k表示总共有k条请求记录。
[0082]
本示例实施方式中,异常请求指的是独立于主链接存在的子链接。正常情况下通过浏览器发起的请求,都是主链接和子链接请求相互依赖存在的,且主链接的请求时间先于子链接。如果子链接独立于主链接存在,那该子链接即为异常请求。举例而言,在电商平台中,电商商家为了吸引更多的用户访问和购买,会提供了大量的促销活动,类似于访问店铺获取礼包、领取优惠券、或者直接领取现金等活动。上述促销活动能够增加店铺的用户访问量和交易额,但同时也吸引了一系列非法请求直接获取相关促销活动数据,或者通过获取所有活动数据并在市场上进行转售从而获利,像这样直接刷取优惠券和礼包等接口的非法请求即为异常请求。
[0083]
获取预设检测时间段内的页面请求记录之后,通过页面链接规则矩阵对其中的请求数据进行分析检测,根据页面请求记录中的页面请求链接获取页面请求记录中的主链接,并在一定时间阈值内查找对应的子链接请求记录,若某个接口请求不属于该主链接相关的子链接请求范围内,则该接口请求为异常请求。
[0084]
本示例实施方式中的异常请求的检测方法,可以适用于后台的应用服务器能够记录到请求日志记录,但无法有效地统计主链接和子链接的具体访问情况,以及需要实时获取且含有敏感数据的直接请求接口的异常行为分析。
[0085]
本公开示例实施方式的异常请求的检测方法中,通过建立页面的主链接与子链接之间的关联关系,在此基础上得到页面链接规则矩阵,并通过页面链接规则矩阵对页面请求记录中的异常请求进行检测。本公开示例实施方式中的异常请求的检测方法,一方面,通过建立页面的主链接与子链接之间的关联关系,可以在检测时结合页面的历史访问情况,从而提高异常请求检测的准确性和可靠性;另一方面,通过使用页面链接规则矩阵对异常请求进行检测,可以针对不同的主链接配置不同的链接规则,进而增加异常请求检测方法的可扩展性,并进一步提高异常请求检测的准确性和可靠性。
[0086]
下面,结合图2至图6对本示例实施方式的上述步骤进行更加详细的说明。
[0087]
在步骤s130中,如图2所示,通过页面链接规则矩阵对页面请求记录中的页面请求进行检测,以确定页面请求记录中的异常请求,具体可以包括以下几个步骤:
[0088]
步骤s210.判断页面请求记录中的各个页面请求是否为页面链接规则矩阵中的主链接对应的主链接请求,或者与主链接相关的子链接对应的子链接请求。
[0089]
步骤s220.若页面请求不是主链接对应的主链接请求,也不是与主链接相关的子链接对应的子链接请求,则将页面请求确定为异常请求。
[0090]
本示例实施方式中,由于子链接请求依赖于页面的主链接请求,因此,如果页面请求记录中的某个页面请求既不是主链接对应的主链接请求,也不属于与主链接相关的子链接对应的子链接请求,即作为子链接请求的该页面请求是独立于主链接存在的,那么该页面请求即为异常请求。
[0091]
页面链接规则矩阵中包含了主链接以及与主链接相关的子链接对应的链接规则,可以用来根据页面请求记录中的请求数据判断页面请求是否为主链接请求或者相关的子链接请求。接下来,结合图3至图6对具体的判断方法进行介绍。
[0092]
在步骤s210中,如图3所示,判断页面请求记录中的各个页面请求是否为页面链接规则矩阵中的主链接对应的主链接请求,或者与主链接相关的子链接对应的子链接请求,具体可以包括以下几个步骤:
[0093]
步骤s310.将页面请求的页面请求链接与页面链接规则矩阵中的主链接进行对比,并判断页面请求是否为主链接对应的主链接请求。
[0094]
获取待检测的页面请求的页面请求链接,并从页面链接规则矩阵中提取出所有的主链接进行比对,判断该页面请求的页面请求链接是否属于页面链接规则矩阵中的主链接。如果该页面请求的页面请求链接主链接,那么该页面请求即为主链接请求,且属于有效请求。
[0095]
步骤s320.若页面请求为主链接请求,则从页面请求记录中获取与主链接请求之间满足预设请求时间规则的页面请求,作为主链接请求对应的待测子链接请求。
[0096]
本示例实施方式中,待测子链接请求指的是与主链接请求在请求时间上符合预设请求时间规则的页面请求。如图4所示,步骤s320中确定页面请求是否为主链接请求对应的待测子链接请求的方法,具体可以包括以下几个步骤:
[0097]
步骤s410.从页面请求记录中获取页面请求时间在主链接请求之后的页面请求。
[0098]
由于主链接和子链接请求相互依赖存在,且主链接请求的请求时间先于子链接请求,因此,在确定主链接请求对应的待测子链接请求时,只考虑请求时间在主链接请求之后的页面请求。
[0099]
步骤s420.判断页面请求的页面请求时间与主链接请求的页面请求时间之间的时间差是否小于或等于时间差阈值。
[0100]
在实际访问页面的过程中,子链接的请求一般都是在主链接之后的一小段时间内,如10秒内,如果主链接和子链接之前的请求时间差过长,可以认为该子链接与该主链接无关,二者不属于同一次请求过程。因此,可以通过判断与主链接请求之间的请求时间差是否小于或等于时间差阈值,来确定页面请求是否为主链接请求对应的待测子链接请求。其中,时间差阈值可以根据实际情况进行设定,一般可以为10秒或15秒,在这里不做具体限定。
[0101]
步骤s430.若页面请求与主链接请求的页面请求时间之间的时间差小于或等于时间差阈值,则将页面请求作为主链接请求对应的待测子链接请求。
[0102]
为了便于获取在主链接之后且请求时间差在时间差阈值内的待测子链接请求,可以在获取页面请求记录时,对请求记录的数据进行预处理。
[0103]
获取预设检测时间段内所有的页面请求记录集合之后,可以对每一条请求记录按时间升序进行排序,这样在依次获取每一条页面请求进行检测分析时,如果确定了某一条页面请求为主链接请求,那么其后的各条页面请求中,请求时间与主链接请求在时间差阈值内的页面请求,即为该主链接请求对应的待测子链接请求。
[0104]
步骤s330.根据待测子链接请求的页面请求记录,通过页面链接规则矩阵判断待测子链接请求是否为与主链接相关的子链接对应的子链接请求。
[0105]
确定主链接请求对应的待测子链接请求之后,就可以通过页面链接规则矩阵判断该待测子链接请求是否符合主链接请求对应的子链接规则,如果待测子链接请求符合主链接请求对应的子链接规则,那么该待测子链接请求即为与主链接相关的子链接对应的子链
接请求。
[0106]
如图5所示,步骤s330中判断待测子链接请求是否为与主链接相关的子链接对应的子链接请求的方法,具体可以包括以下几个步骤:
[0107]
步骤s510.从页面链接规则矩阵中获取与主链接请求对应的主链接相关的所有子链接,得到主链接请求的相关子链接集合。
[0108]
如果判断的是页面p1的主链接请求对应的待测子链接请求,则从页面链接规则矩阵中获取页面p1的主链接和子链接的链接规则,即
[0109]
rule
p1
=[mainurl
p1 suburl
p1
]
t
[0110]
再从其中获取该主链接对应的子链接集合suburl
p1
,作为主链接请求的相关子链接集合,包括[suburl
1 suburl2…
suburl
n
],其中n表示该主链接对应的第n个子链接。
[0111]
步骤s520.根据待测子链接请求的页面请求链接判断待测子链接请求是否在主链接请求的相关子链接集合中,并判断待测子链接请求的页面请求记录是否与主链接请求的页面请求记录相匹配。
[0112]
首先判断待测子链接请求的页面请求链接是否在主链接请求的相关子链接集合[suburl
1 suburl2…
suburl
n
]中,再根据页面请求记录中的请求数据判断其是否与主链接请求相匹配。
[0113]
步骤s530.若待测子链接请求在主链接请求的相关子链接集合中,且待测子链接请求的页面请求记录与主链接请求相匹配,则待测子链接请求为与主链接相关的子链接对应的子链接请求。
[0114]
如果待测子链接请求的页面请求链接在主链接请求的相关子链接集合中,也与主链接请求相匹配,那么该待测子链接请求为与主链接相关的子链接对应的子链接请求,且属于有效请求。
[0115]
如果待测子链接请求的页面请求链接不在主链接请求的相关子链接集合中,或者页面请求记录与主链接请求不匹配,那么该待测子链接请求则不属于主链接相关的子链接对应的子链接请求。如果该待测子链接请求也不属于其他页面的主链接请求,则该待测子链接请求即为异常请求。
[0116]
在步骤s520中,页面请求记录还包括页面请求的页面请求源地址和用户代理标识,如图6所示,判断待测子链接请求的页面请求记录是否与主链接请求的页面请求记录相匹配,具体可以包括以下几个步骤:
[0117]
步骤s610.判断待测子链接请求的页面请求源地址与主链接请求的页面请求源地址是否相同。
[0118]
步骤s620.判断待测子链接请求的用户代理标识与主链接请求的用户代理标识是否相同。
[0119]
步骤s630.若待测子链接请求与主链接请求的页面请求源地址和用户代理标识都相同,则待测子链接请求的页面请求记录与主链接请求的页面请求记录相匹配。
[0120]
页面请求记录中的请求数据包括请求的页面请求源地址、页面请求链接、页面请求时间和用户代理标识,即
[0121]
req=[ip url time agent]
t
[0122]
由于待测子链接请求的页面请求时间(time)与主链接请求的页面请求时间在时
间差阈值内,如果待测子链接请求的页面请求链接(url)在主链接请求的相关子链接集合中,那么只需要判断待测子链接请求的页面请求源地址(ip)和用户代理标识(agent)与主链接请求是否匹配,即可确定待测子链接请求是否为与主链接相关的子链接对应的子链接请求。如果待测子链接请求与主链接请求的页面请求源地址和用户代理标识都相同,那么该待测子链接请求的页面请求记录与主链接请求相匹配,该待测子链接请求即为与主链接相关的子链接对应的子链接请求。
[0123]
在步骤s130中确定页面请求记录中的异常请求之后,本示例实施方式的一种异常请求的检测方法还可以包括:
[0124]
若页面请求为异常请求,则获取异常请求的页面请求源地址和用户代理标识,以得到异常请求的异常请求信息。
[0125]
确定预设检测时间段内的异常请求后,对异常请求的请求数据中的页面请求源地址和用户代理标识进行整合,提取对应的异常请求源信息,作为后续阻止该请求源访问的依据。
[0126]
下面通过一个具体实施例对本示例实施方式中的上述步骤进行举例说明,介绍本公开异常请求检测方法的一种应用场景。
[0127]
如图7所示,是本公开的一个具体实施例中的异常请求的检测方法的模块关系图。本具体实施例中主要涉及到三个处理模块,分别是:链接规则整理模块701、请求记录预处理模块702和检查分析模块703。
[0128]
链接规则整理模块701用于构建主链接-子链接的对应规则,即构建页面链接规则矩阵,为后续检测分析模块提供检测规则基础;
[0129]
请求记录预处理模块702用于对请求记录数据预处理,获取预设检测时间段内所有的页面请求记录集合,并且按照请求时间的先后顺序进行整理,为后续检测分析模块提供数据基础;
[0130]
检测分析模块703为核心模块,用于结合数据基础和规则基础,完成对异常请求的检测和对应异常请求源的提取。
[0131]
如图8所示是本公开的一个具体实施方式中的检测分析模块的流程示意图,该流程图的具体步骤如下:
[0132]
步骤s810.初始化坐标i、有效子链接集合和无效子链接集合。
[0133]
将坐标i初始化为0,并将有效子链接集合和无效子链接集合初始化为空集。
[0134]
步骤s820.获取坐标为i的页面请求记录和页面的网络链接。
[0135]
步骤s830.判断页面的网络链接是否为主链接。
[0136]
判断页面请求的网络链接是否为页面链接规则矩阵中的主链接,若页面请求的网络链接不属于主链接,则进入步骤s840;若页面请求的网络链接是主链接,则进入步骤s860。
[0137]
步骤s840.判断页面请求是否属于有效子链接集合。
[0138]
如果该页面请求已经在有效子链接集合中,则直接进入步骤s880,继续进行下一条页面请求的检测;如果该页面请求不在有效子链接集合中,则进入步骤s850。
[0139]
步骤s850.将页面请求存入无效子链接集合。
[0140]
步骤s860.获取主链接对应的子链接集合并添加页面请求至有效请求集合。
[0141]
若页面请求的网络链接是主链接,则将当前页面请求添加至有效请求集合中,并获取该主链接对应的子链接集合,用于在下一步骤中对子链接进行检测分析。
[0142]
步骤s870.进入子链接分析流程。
[0143]
步骤s880.坐标i 1,并判断坐标是否大于等于请求记录集合大小。
[0144]
本轮分析完成后,令坐标i 1,并判断此时的坐标i是否大于等于请求记录集合大小,即判断是否已将页面请求记录集合中的所有页面请求分析完毕。若坐标i小于请求记录集合大小,则进入步骤s820,继续对下一条页面请求进行分析;若坐标i大于等于请求记录集合大小,则完成分析,并将无效子链接集合中对应的页面请求确定为异常请求,提取对应的异常请求源信息。
[0145]
如图9所示是本公开的一个具体实施方式中的子链接分析的流程示意图,是上述步骤s870中进入子链接分析流程后具体步骤的展开,该流程图的具体步骤如下:
[0146]
步骤s910.初始化坐标j=i 1。
[0147]
由于在请求记录预处理模块702中已经对页面请求记录按照请求时间的先后顺序进行整理,因此,在分析主链接对应的子链接请求时,只需要依次对主链接请求坐标之后的页面请求记录进行分析。
[0148]
步骤s920.获取坐标为j的页面请求记录。
[0149]
步骤s930.判断页面的请求时间与主链接之间的时间差是否小于等于时间差阈值。
[0150]
若当前页面请求的请求时间与主链接之间的时间差小于等于时间差阈值,则进入步骤s940中继续进行判断;若当前页面请求的请求时间与主链接之间的时间差大于时间差阈值,说明当前的页面请求以及之后的页面请求都和当前的主链接请求不相关,则直接结束本轮的子链接分析流程,返回到图8的流程中。
[0151]
步骤s940.判断页面的网络链接是否属于主链接对应的子链接集合,判断页面的ip地址与user-agent是否与主链接相同。
[0152]
从页面链接规则矩阵中中获取主链接mainurl
pi
对应的子链接集合[suburl
1 suburl2…
suburl
n
],判断当前页面的网络链接是否属于主链接对应的子链接集合,并判断当前页面的页面请求源地址(ip地址)和用户代理标识(user-agent)是否与主链接相同。如果上述条件都满足,则进入步骤s950;如果有一个条件不满足,则直接结束本轮的子链接分析流程,返回到图8的流程中。
[0153]
步骤s950.将页面请求从无效子链接集合中移除,添加到有效子链接集合中。
[0154]
判断无效子链接集合中是否包含当前页面请求,若包含则将其从无效子链接集合中移除,添加到有效子链接集合中。
[0155]
步骤s960.坐标j 1,并判断坐标是否大于等于请求记录集合大小。
[0156]
本轮分析完成后,令坐标j 1,并判断此时的坐标j是否大于等于请求记录集合大小,若坐标j小于请求记录集合大小,则进入步骤s920,继续对下一条子链接进行分析;若坐标j大于等于请求记录集合大小,则完成子链接分析流程。
[0157]
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,
以及/或者将一个步骤分解为多个步骤执行等。
[0158]
进一步的,本公开还提供了一种异常请求的检测装置。参考图10所示,该异常请求的检测装置可以包括网络链接获取模块1010、规则矩阵生成模块1020以及页面请求检测模块1030。其中:
[0159]
网络链接获取模块1010可以用于获取各个页面的网络链接作为各个页面的主链接,并分别获取渲染每个页面所需的接口的网络链接作为与页面的主链接相关的子链接;
[0160]
规则矩阵生成模块1020可以用于根据各个页面的主链接以及与页面的主链接相关的子链接得到页面链接规则矩阵;
[0161]
页面请求检测模块1030可以用于获取预设检测时间段内的页面请求记录,并通过页面链接规则矩阵对页面请求记录中的页面请求进行检测,以确定页面请求记录中的异常请求。
[0162]
在本公开的一些示例性实施例中,页面请求检测模块1030可以包括链接请求判断单元以及异常请求确定单元。其中:
[0163]
链接请求判断单元可以用于判断页面请求记录中的各个页面请求是否为页面链接规则矩阵中的主链接对应的主链接请求,或者与主链接相关的子链接对应的子链接请求;
[0164]
异常请求确定单元可以用于若页面请求不是主链接对应的主链接请求,也不是与主链接相关的子链接对应的子链接请求,则将页面请求确定为异常请求。
[0165]
在本公开的一些示例性实施例中,链接请求判断单元可以包括主链接请求判断单元、待测子链接请求获取单元以及子链接请求判断单元。其中:
[0166]
主链接请求判断单元可以用于将页面请求的页面请求链接与页面链接规则矩阵中的主链接进行对比,并判断页面请求是否为主链接对应的主链接请求;
[0167]
待测子链接请求获取单元可以用于若页面请求为主链接请求,则从页面请求记录中获取与主链接请求之间满足预设请求时间规则的页面请求,作为主链接请求对应的待测子链接请求;
[0168]
子链接请求判断单元可以用于根据待测子链接请求的页面请求记录,通过页面链接规则矩阵判断待测子链接请求是否为与主链接相关的子链接对应的子链接请求。
[0169]
在本公开的一些示例性实施例中,待测子链接请求获取单元可以包括页面请求获取单元、请求时间差判断单元以及待测子链接请求确定单元。
[0170]
其中:
[0171]
页面请求获取单元可以用于从页面请求记录中获取页面请求时间在主链接请求之后的页面请求;
[0172]
请求时间差判断单元可以用于判断页面请求的页面请求时间与主链接请求的页面请求时间之间的时间差是否小于或等于时间差阈值;
[0173]
待测子链接请求确定单元可以用于若页面请求与主链接请求的页面请求时间之间的时间差小于或等于时间差阈值,则将页面请求作为主链接请求对应的待测子链接请求。
[0174]
在本公开的一些示例性实施例中,子链接请求判断单元可以包括相关子链接集合获取单元、待测子链接请求匹配单元以及子链接请求确定单元。
[0175]
其中:
[0176]
相关子链接集合获取单元可以用于从页面链接规则矩阵中获取与主链接请求对应的主链接相关的所有子链接,得到主链接请求的相关子链接集合;
[0177]
待测子链接请求匹配单元可以用于根据待测子链接请求的页面请求链接判断待测子链接请求是否在主链接请求的相关子链接集合中,并判断待测子链接请求的页面请求记录是否与主链接请求的页面请求记录相匹配;
[0178]
子链接请求确定单元可以用于若待测子链接请求在主链接请求的相关子链接集合中,且待测子链接请求的页面请求记录与主链接请求相匹配,则待测子链接请求为与主链接相关的子链接对应的子链接请求。
[0179]
在本公开的一些示例性实施例中,待测子链接请求匹配单元可以包括请求源地址匹配单元、用户代理标识匹配单元以及页面请求记录匹配单元。
[0180]
其中:
[0181]
请求源地址匹配单元可以用于判断待测子链接请求的页面请求源地址与主链接请求的页面请求源地址是否相同;
[0182]
用户代理标识匹配单元可以用于判断待测子链接请求的用户代理标识与主链接请求的用户代理标识是否相同;
[0183]
页面请求记录匹配单元可以用于若待测子链接请求与主链接请求的页面请求源地址和用户代理标识都相同,则待测子链接请求的页面请求记录与主链接请求的页面请求记录相匹配。
[0184]
在本公开的一些示例性实施例中,该异常请求的检测装置还可以包括异常请求信息确定模块,可以用于若页面请求为异常请求,则获取异常请求的页面请求源地址和用户代理标识,以得到异常请求的异常请求信息。
[0185]
上述异常请求的检测装置中各模块/单元的具体细节在相应的方法实施例部分已有详细的说明,此处不再赘述。
[0186]
图11示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
[0187]
需要说明的是,图11示出的电子设备的计算机系统1100仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0188]
如图11所示,计算机系统1100包括中央处理单元(cpu)1101,其可以根据存储在只读存储器(rom)1102中的程序或者从存储部分1108加载到随机访问存储器(ram)1103中的程序而执行各种适当的动作和处理。在ram 1103中,还存储有系统操作所需的各种程序和数据。cpu 1101、rom 1102以及ram 1103通过总线1104彼此相连。输入/输出(i/o)接口1105也连接至总线1104。
[0189]
以下部件连接至i/o接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至i/o接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
[0190]
特别地,根据本发明的实施例,下文参考流程图描述的过程可以被实现为计算机
软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(cpu)1101执行时,执行本技术的系统中限定的各种功能。
[0191]
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0192]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0193]
作为另一方面,本技术还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。
[0194]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
[0195]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或
者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
[0196]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜