CN116827619A - 防止http放大攻击的方法、设备以及计算机可读介质 - Google Patents
防止http放大攻击的方法、设备以及计算机可读介质 Download PDFInfo
- Publication number
- CN116827619A CN116827619A CN202310730768.3A CN202310730768A CN116827619A CN 116827619 A CN116827619 A CN 116827619A CN 202310730768 A CN202310730768 A CN 202310730768A CN 116827619 A CN116827619 A CN 116827619A
- Authority
- CN
- China
- Prior art keywords
- range
- parameter
- content
- request
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000003321 amplification Effects 0.000 title claims abstract description 28
- 238000003199 nucleic acid amplification method Methods 0.000 title claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 19
- 238000010276 construction Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 32
- 230000036961 partial effect Effects 0.000 abstract description 8
- 238000007689 inspection Methods 0.000 abstract description 3
- 230000004044 response Effects 0.000 description 16
- 238000005520 cutting process Methods 0.000 description 14
- 238000003860 storage Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 101100524346 Xenopus laevis req-a gene Proteins 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100412394 Drosophila melanogaster Reg-2 gene Proteins 0.000 description 1
- 101100524347 Xenopus laevis req-b gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供了一种防止HTTP放大攻击的方法、设备以及计算机可读介质,该方案客户端设备在确定需要获取目标文件的第一内容时,会首先确定关于第一内容的范围参数,然后将范围参数添加至目标请求的URL中,而非构造Range请求头添加至目标请求中,再将包含范围参数的目标请求发送至服务端设备。由此,服务端设备在处理该目标请求的过程中,可以直接将该目标请求作为一个简单请求进行处理,不再需要发送预检请求,通过对目标请求的URL进行解析,获取范围参数,并根据范围参数确定客户端设备所需要获取目标文件中的第一内容,即可将第一内容返回给客户端设备,从而能够避免建连次数增加的情况,实现部分内容的获取,防止HTTP放大攻击。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种防止HTTP放大攻击的方法、设备以及计算机可读介质。
背景技术
在实际场景中,若客户端设备需要通过HTTP(Hyper Text Transfer Protocol,超文本传输协议)访问请求的方式从服务端设备获取某一文件中的部分内容,一般会使用HTTP范围请求(HTTP Range请求)的方式。当客户端设备在需要获取整个文件的部分内容时,会在HTTP访问请求中添加Range请求头从而构建HTTP范围请求。
当HTTP访问请求中包含了Range请求头之后,该HTTP访问请求就会变成复杂请求。相较于简单请求,根据HTTP的规范,复杂请求需要客户端设备在发起正式获取文件的实际请求前,会先发起一个预检请求到服务端设备,以获知服务端设备是否允许该实际请求,避免该请求对服务端设备的数据产生未达预期的影响。但是作为代价,这个预检请求同样需要通过三次握手与服务端设备建立一次完整的连接,会使得原本的一次建连过程增加为两次,从而引起整个访问过程的开销增加,耗时变长。
当上述HTTP范围请求的交互过程被攻击者利用时,攻击者在常规的HTTP访问请求中恶意构造Range请求头即可伪造大量HTTP范围请求,同时高并发地向服务端设备发起这些伪造的HTTP范围请求,就会使得服务端设备在响应过程中需要消耗更多的资源,从而放大处理HTTP访问请求的资源开销,导致响应时间变长,影响用户体验。
发明内容
本申请的一个目的是提供防止HTTP放大攻击的方法、设备以及计算机可读介质,至少用以解决现有方案服务端设备在响应过程中需要消耗更多的资源,从而放大处理HTTP访问请求的资源开销,导致响应时间变长,影响用户体验的问题。
本申请实施例提供了一种防止HTTP放大攻击的方法,所述方法应用于客户端设备,包括:
客户端设备在确定需要获取目标文件的第一内容时,确定关于所述第一内容的范围参数,其中,所述第一内容为目标文件中的一部分内容,所述范围参数用于标识所述第一内容在目标文件中的范围;
所述客户端设备将所述范围参数添加至目标请求的URL中,所述目标请求用于向服务端设备获取所述目标文件的第一内容;
所述客户端设备将所述包含范围参数的目标请求发送至服务端设备,以使所述服务端设备根据所述目标请求的URL中的范围参数,向所述客户端设备返回目标文件中的第一内容。
本申请实施例还提供了一种防止HTTP放大攻击的方法,所述方法应用于服务端设备,包括:
服务端设备从客户端设备接收包含范围参数的目标请求,其中,所述范围参数由客户端设备添加于所述目标请求的URL中;
所述服务端设备对所述目标请求的URL进行解析,获取所述范围参数,并根据所述范围参数确定客户端设备所需要获取目标文件中的第一内容;
所述服务端设备将所述第一内容返回给所述客户端设备。
本申请实施例还提供了一种防止HTTP放大攻击的客户端设备,所述客户端设备包括:
请求构建模块,用于在确定需要获取目标文件的第一内容时,确定关于所述第一内容的范围参数,将所述范围参数添加至目标请求的URL中,其中,所述第一内容为目标文件中的一分部内容,所述范围参数用于标识所述第一内容在目标文件中的范围,所述目标请求用于向服务端设备获取所述目标文件的第一内容;
发送模块,用于将所述包含范围参数的目标请求发送至服务端设备,以使所述服务端设备根据所述目标请求的URL中的范围参数,向所述客户端设备返回目标文件中的第一内容。
接收模块,用于接收服务端设备返回的目标文件中的第一内容。
本申请实施例还提供了一种防止HTTP放大攻击的服务端设备,所述服务端设备包括:
接收模块,用于从所述客户端设备接收包含范围参数的目标请求,其中,所述范围参数由客户端设备添加于所述目标请求的URL中;
处理模块,用于对所述目标请求的URL进行解析,获取所述范围参数,并根据所述范围参数确定客户端设备所需要获取目标文件中的第一内容;
发送模块,用于将所述第一内容返回给所述客户端设备。
此外,本申请实施例还提供了一种计算设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行所述防止HTTP放大攻击的方法。
本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现所述防止HTTP放大攻击的方法。
相较于现有技术,本申请实施例提供的防止HTTP放大攻击的方案中,客户端设备在确定需要获取目标文件的第一内容时,会首先确定关于所述第一内容的范围参数,其中,所述第一内容为目标文件中的一部分内容,所述范围参数用于标识所述第一内容在目标文件中的范围,然后将所述范围参数添加至目标请求的URL中,而非构造Range请求头添加至目标请求中,再将所述包含范围参数的目标请求发送至服务端设备。由此,服务端设备在处理该目标请求的过程中,可以直接将该目标请求作为一个简单请求进行处理,不再需要发送预检请求,通过对所述目标请求的URL进行解析,获取所述范围参数,并根据所述范围参数确定客户端设备所需要获取目标文件中的第一内容,即可将第一内容返回给所述客户端设备,从而能够避免建连次数增加的情况,实现部分内容的获取,防止HTTP放大攻击。
附图说明
图1为本申请实施例提供的一种防止HTTP放大攻击的方法的交互流程图;
图2为本申请实施例中服务端设备在接收到目标请求时的处理流程图;
图3为采用本申请实施例中的方案实现文件部分内容访问时的处理流程图;
图4为采用本申请实施例中的方案实现文件部分内容访问时的另一种处理流程图;
图5为采用本申请实施例中的方案实现另一种方式的文件部分内容访问时的处理流程图;
图6为采用本申请实施例中的方案分割获取文件内容的处理流程
图7为本申请实施例提供的一种防止HTTP放大攻击的客户端设备的结构示意图;
图8为本申请实施例提供的一种防止HTTP放大攻击的服务端设备的结构示意图;
图9为本申请实施例提供的一种防止HTTP放大攻击的计算设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请实施例提供的防止HTTP放大攻击的方法中,客户端设备在确定需要获取目标文件的第一内容时,会首先确定关于所述第一内容的范围参数,其中,所述第一内容为目标文件中的一部分内容,所述范围参数用于标识所述第一内容在目标文件中的范围,然后将所述范围参数添加至目标请求的URL中,而非构造Range请求头添加至目标请求中,再将所述包含范围参数的目标请求发送至服务端设备。由此,服务端设备在处理该目标请求的过程中,可以直接将该目标请求作为一个简单请求进行处理,不再需要发送预检请求,通过对所述目标请求的URL进行解析,获取所述范围参数,并根据所述范围参数确定客户端设备所需要获取目标文件中的第一内容,即可将第一内容返回给所述客户端设备,从而能够避免建连次数增加的情况,实现部分内容的获取,防止HTTP放大攻击。
其中,所述客户端设备可以是用户所使用的各类终端设备,包括但不限于计算机、手机、平板电脑、智能手表等各类设备。所述服务端设备可以包括但不限于如网络主机、单个网络服务器、多个网络服务器集中的服务器或者是分布式云网络中的服务器等。在此所述分布式云网络由基于云计算(Cloud Computing)的大量主机或网络服务器构成。
需要说明的是,分布式云网络可以为CDN(Content Delivery Network,内容分发网络),所述CDN依靠部署在各地的CDN服务器,通过负载均衡、内容分发、调度等功能模块,使用户可以就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率,所述服务端设备可以是CDN中的任意一个CDN节点此外,分布式网络也可以为多台服务器按照分布式架构组成的服务器集群,所述服务端设备可以是该服务器集群中的任一服务器。在另外一示例中,分布式云网络也可以为边缘云网络,该边缘云网络可以基于云计算技术的核心和边缘计算的能力,构筑在边缘基础设施之上的云计算平台,以形成边缘位置的计算、网络、存储、安全、应用等能力全面的弹性云平台。此时服务端设备可以是边缘云网络中的边缘节点。应当注意的是,本申请实施例并不限制分布式网络具体为何种网络,任意多台计算设备组成的分布式架构的网络均适用于本申请。
图1示出了本申请实施例提供的一种防止HTTP放大攻击的方法的交互流程,该交互流程涉及发起HTTP访问请求的客户端设备与响应HTTP访问请求的服务端设备,具体包括以下的交互流程:
步骤S101,客户端设备在确定需要获取目标文件的第一内容时,确定关于所述第一内容的范围参数。
所述第一内容为目标文件中的一部分内容,所述范围参数用于标识所述第一内容在目标文件中的范围。例如,当用户打开点击观看一个视频时,需要获取视频文件的前30秒的内容,此时该视频文件即为目标文件,其中前30秒所对应数据即为该目标文件的第一内容。客户端设备实际发送对应的HTTP访问请求来获取数据之前,会先确定关于该第一内容的参数范围。在实际场景中,参数范围可以根据参数的具体形式确定,例如当参数是关于第一内容所在的数据范围,且以字节(byte)为单位时,而视频文件的前30秒内容的大小为5MB时,由于5MB=5×1024×1024=5242880字节,则此时第一内容在目标文件中所对应的范围可以是0~5242879。
步骤S102,所述客户端设备将所述范围参数添加至目标请求的URL中。
其中,所述目标请求即为客户端设备所发送的、用于向服务端设备获取目标文件的第一内容的HTTP访问请求。客户端设备在构造该目标请求时,会在将前述步骤中确定的范围参数添加至目标请求的URL中。例如,若正常的HTTP访问请求中的URL为http://xxxx/test.mp4,则本实施例中构造的目标请求中的URL可以是http://xxxx/test.mp4?range=0-50,其中的范围参数为:range=0-50,表示需要获取的第一内容是目标文件file1中0~50字节范围的数据。
步骤S103,所述客户端设备将所述包含范围参数的目标请求发送至服务端设备,由此服务端设备可以从客户端设备接收包含范围参数的目标请求。
由于本方案是在常规的HTTP访问请求方案上进行改进,而常规的HTTP访问请求在请求整个文件的部分内容时可能会默认携带Range请求头,因此本申请实施例提供的防止HTTP放大攻击的方案中,若所述目标请求为包括Range请求头的HTTP访问请求,所述客户端设备可以在将所述包含范围参数的目标请求发送至服务端设备之前,删除所述Range请求头,由此使得服务端设备在接收到目标请求中不包含Range请求头,不会按照常规的HTTP范围请求的流程进行执行相应的流程。
此外,也可以不在客户端设备中删除所述Range请求头,使得目标请求中范围参数和Range请求头同时存在,在服务器中配置相应的处理机制。其中,具体的处理机制可以包括:若所述目标请求为包括Range请求头的HTTP访问请求,所述服务端设备在检测到目标请求的URL中包含范围参数时,忽略所述Range请求头。即,对于服务端而言,若接收到同时存在范围参数和Range请求头的HTTP访问请求,范围参数的优先级高于Range请求头,优先基于范围参数进行处理,同时忽略所述Range请求头不予以响应。
步骤S104,所述服务端设备对所述目标请求的URL进行解析,获取所述范围参数,并根据所述范围参数确定客户端设备所需要获取目标文件中的第一内容。例如,对于前述的URL为http://xxxx/test.mp4?range=0-50的目标请求,所述服务端设备对其进行解析后,可以获取到范围参数为range=0-50,由此可以根据所述范围参数确定客户端设备所需要获取目标文件中的第一内容为目标文件file1中0~50字节的数据。
步骤S105,所述服务端设备将所述第一内容返回给所述客户端设备。
服务端设备根据目标请求中的范围参数客户端设备所需要获取目标文件中的第一内容后,即可找到该第一内容,并将其返回给所述客户端设备。在实际场景中,所述第一内容可能保存在服务端设备的本地的缓存中,此时服务端设备直接从缓存中读取第一内容,并将其返回给所述客户端设备即可。此外,第一内容也有可能并未保存在服务端设备的本地的缓存中,此时服务端设备需要通过回源的方式从其他保存有第一内容的设备中拉取相应的数据。
以CDN场景为例,若服务端设备为CDN网络中的其中一个CDN节点,该CDN节点可以在根据所述范围参数确定客户端设备所需要获取目标文件中的第一内容后,可以在本地的缓存中查找第一内容。例如,若参数范围为range=0-50,此时该CDN节点需要在本地的缓存中查找目标文件file1中0~50字节的数据,若找到了这些数据,则可以将这些数据作为目标请求的应答信息返回给所述客户端设备。
若未在本地的缓存中找到这些数据,则可以向CDN节点发起回源的请求,以便于从其他CDN节点中拉取这部分数据,然后作为目标请求的应答信息返回给所述客户端设备,同时拉取的数据可以保存在本地的缓存中,以便于后续的处理相应参数范围的HTTP访问请求时,可以直接从缓存中获取数据,从而提升请求的处理速度。
由于在处理过程中,客户端设备会将所述范围参数添加至目标请求的URL中,服务端设备在处理该目标请求的过程中,可以直接将该目标请求作为一个简单请求进行处理,通过对所述目标请求的URL进行解析,获取所述范围参数,并根据所述范围参数确定客户端设备所需要获取目标文件中的第一内容,即可将第一内容返回给所述客户端设备,而不需要基于Range请求头进行更多的建连交互,从而能够避免建连次数增加的情况,实现完整文件中部分内容的获取,防止HTTP放大攻击。
此外,采用常规Range请求头的HTTP访问请求方案应用于CDN场景时,由于目前的CDN厂商主要在处理带有Range请求头的HTTP范围请求时主要采用以下的几种回源策略:1、CDN节点对HTTP范围请求不做处理,直接转发该HTTP访问请求;2、CDN节点直接删除HTTP范围请求中的Range头部再转发,从源站获取整个文件;3、CDN节点将HTTP范围请求的Range请求头中的Range范围扩大后,再向源站转发,获取更大范围的数据内容。
因此,如果攻击者再HTTP范围请求中使用多重范围的Range请求头或者构造一些范围较小的Range请求头,同时高并发起此类HTTP范围请求,将大量消耗CDN的内部带宽,同时利用CDN的上述回源策略消耗大量源站或上层节点的带宽,进而对源站或上层节点造成威胁。而在采用了本申请实施例所提供的上述方案后,由于CDN节点不再基于Range请求头来实现部分内容的获取,因此能够规避上述基于HTTP范围请求中的Range请求头来实现的回源处理过程,避免上述的攻击方式对源站或上层节点造成威胁,进一步提升源站的安全性。
在实际场景中,可能存在多个客户端设备分别请求访问同一目标文件中的不同第一内容的情况,即目标请求中URL指向同一目标文件但携带不同范围参数,例如目标请求req1中的范围参数为range=40-200,而目标请求reg2中的范围参数为range=300-700。服务端设备可以在本地的缓存中分别根据两个目标请求的范围参数查找对应的第一内容。若在本地的缓存中找到了目标文件中对应参数范围40-200和300-700的数据,则可以将这些数据作为两个目标请求的应答信息,分别返回给发起请求的客户端设备。若未找到缓存中找到,则可以向源站或者其它的服务端设备发起回源请求,请求获取目标文件中参数范围40-200和300-700所对应的数据。由此,可以从源站或者其它的服务端设备拉取到这部分数据,然后作为两个目标请求的应答信息,分别返回给发起请求的客户端设备,同时拉取到的数据可以保存在本地的缓存中,以便于后续的处理相应参数范围的HTTP访问请求时,可以直接从缓存中获取数据,从而提升请求的处理速度。
在该场景中,还可能出现多个目标请求中的参数范围存在交叉的情况,例如目标请求req3中的范围参数为range=40-400,而目标请求reg4中的范围参数为range=300-700。服务端设备在分别拉取到参数范围40-400和300-700所对应的数据时,若分别为目标文件中40-400字节的内容以及目标文件中300-700字节的内容都建立了一份缓存数据,则会导致其中一部分内容重复缓存,而使得存储资源的浪费。因此,在实际应用中,服务端设备在缓存数据时,可以针对需要缓存的数据内容进行去重或者不考虑参数范围而直接缓存整个目标文件。因此,对于前述两个目标请求req1和req2的场景,服务端设备直接保存一份关于目标文件的40-700字节的数据缓存,也可以直接缓存整个目标文件。而在后续响应其它关于该目标文件的HTTP访问请求时,也可以根据其中的范围参数从该缓存中读取相应范围的内容,或者是进一步去重后更新该40-700字节的数据缓存。
在本申请的一些实施例中,可以将范围参数拆分为两个子参数,即范围起始参数和范围终止参数,以避免攻击者在获取到目标请求的URL之后,能够轻易识别范围参数,在URL中构造范围参数,并利用范围参数发起攻击。由此,若所述范围参数包括了范围起始参数和范围终止参数,则客户端设备可以在确定需要获取目标文件的第一内容时,确定关于所述第一内容在所述目标文件中的范围起始参数和范围终止参数。例如,以前述范围参数range=0-50为例,可以拆分为范围起始参数range1=0和范围终止参数range2=50,由此目标请求的URL可以是http://xxxx/test.mp4?range1=0&range2=50。
相应地,服务端设备在接收到该目标请求时,可以先对所述目标请求的URL进行解析,获取范围起始参数和范围终止参数,然后根据所述范围起始参数和范围终止参数,确定范围参数。以前述的目标请求为例,对其解析后可以分别获取范围起始参数为range1=0,以及范围终止参数为range2=50,由此可以确定相应的范围参数为range=0~50,即客户端设备需要获取目标文件0~50字节的数据。
在本申请的另一实施例中,可以在客户端设备中对范围参数进行加密,通过对Range参数进行加密伪装,使得其发送的目标请求中添加的是关于范围参数的密文,而服务端设备在收到后可以采用约定的解密方式再对其解密获得实际的范围参数,由此即使攻击者在获取到目标请求的URL,由于没有相应的解密方式,也无法识别到范围参数,因而无法URL中构造Range参数,利用范围参数发起攻击,减少被攻击的风险。其中,所述加密和解密的算法可以预先约定,即客户端设备中采用预设的加密算法,而服务端设备则采用预设的解密算法。
具体地,所述客户端设备在将所述范围参数添加至目标请求的URL中时,可以先对所述范围参数进行加密处理,生成对应的参数密文,然后再将所述参数密文添加至所述目标请求的URL中。例如,对于前述的范围参数range=0-50,对其加密后可以生成相应的参数密文:abcdXXYY,将其添加至目标请求的URL中后可以获得如下的URL:http://xxxx/test.mp4?abcdXXYY。而服务端设备可以在接收到该目标请求时,对所述目标请求的URL进行解析,获取对应于所述范围参数的参数密文,然后再采用对应的解密算法对所述参数密文进行解密处理,获取所述范围参数,例如基于上述的参数密文abcdXXYY解析出范围参数range=0-50。其中,在进行加密和解密的过程中所采用的加密算法可以包括Base64(基于64个可打印字符来表示二进制数据的加密算法)、RSA(公钥加密算法)等。
在本申请的一些实施例中,若范围参数实际包括了范围起始参数和范围终止参数,则客户端设备在加密时可以对范围起始参数和范围终止参数进行加密处理,来生成对应的参数密文。例如,对于前述的范围起始参数range1=0以及范围终止参数为range2=50,对其加密后可以生成相应的参数密文a=XXXX以及b=YYYY,由此将其添加至目标请求的URL中后可以获得如下的URL:http://xxxx/test.mp4?a=XXXX&b=YYYY。将其发送至服务端设备后,服务端设备可以在接收到该目标请求时,对所述目标请求的URL进行解析,获取对应于所述范围参数的参数密文,然后再采用对应的解密算法对所述参数密文进行解密处理,获取所述范围参数,例如基于上述的参数密文a=XXXX以及b=YYYY,可以解析出范围起始参数range1=0以及范围终止参数为range2=50,进而确定范围参数range=0-50。
在本申请的一些实施例中,为了进一步提升安全性,在进行加密和解密时可以采用动态加解密的方式。其中,客户端设备可以基于预先约定的动态信息和预设的动态加密算法,对所述范围参数进行加密处理,生成对应的动态参数密文,而服务端设备则是基于预先约定的动态信息和预设的动态加密算法,对动态参数密文进行解密处理,获取所述范围参数。
其中,所述预先约定的动态信息即为客户端设备和服务端设备预先约定好在加解密过程中所使用的能够动态变化的信息,例如可以将发起目标请求的时间作为动态信息来加入到加密和解密的过程中,不同时间发起的目标请求即使其他信息完全一致,其生成的动态参数密文也会不同,例如,客户端设备若在18:55:32发起的一个范围参数range=0-50的目标请求时,其生成的动态参数密文为abcd111XXYY22,而当同一客户端设备在19:29:30发起的一个相同范围参数range=0-50的目标请求时,其生成的动态参数密文则会发生变化,可能是aged1XSYW5A。由此,可以进一步提升安全性,降低攻击者利用范围参数发起攻击的可能性。
在实际场景中,若调度策略中采用了基于URL的hash值进行调度的方式,容易导致针对同一资源的高并发访问会被调度至同一个服务端设备,与此同时若访问的资源的数据量较大,则会导致该服务端设备的带宽资源和计算资源在短时间内被大量占用,导致响应速度降低,服务质量下降。因此,所述服务端设备在接收到目标请求时可以采用如图2所示的方式进行处理,至少包括以下的处理步骤:
步骤S201,服务端设备判断所述第一内容的数据量是否超过预设值。其中,所述预设值可以根据实际的应用场景设定,例如可以是设定为100MB、500MB、600MB、1GB等。若未超过该预设值,服务端设备无需进行额外的处理,直接按照前述的方式将所述第一内容返回给所述客户端设备即可。若超过预设值,则需要采用本实施例中的方式,执行步骤S202。
步骤S202,所述服务端设备对所述范围参数进行切分,确定多个子范围参数。其中,所述子范围参数为所述范围参数的子集,且所述子范围参数的并集大于等于所述范围参数。例如,在本实施例中,若范围参数为range=0-10000000,可以将其划分为10个子范围参数,分别为range=0-999999、range=1000000-1999999、range=2000000-2999999、……、range=8000000-8999999、range=9000000-10000000。
步骤S203,服务端设备将所述子范围参数添加至子请求的URL中,生成对应于不同子范围参数的多个子请求。其中,每个子范围参数可以分别用于构建一个对应的子请求,使得子范围参数添加至子请求的URL中。
例如,本实施例中的子请求的URL可以分别为:
http://xxxx/test.mp4?range=0-999999;
http://xxxx/test.mp4?range=1000000-1999999;
……;
http://xxxx/test.mp4?range=9000000-10000000。
在实际场景中,所述子范围参数也可以采用范围起始参数和范围终止参数的形式,在此种情况下本实施例中的子请求的URL可以分别为:
http://xxxx/test.mp4?range1=0&range2=999999;
http://xxxx/test.mp4?range1=1000000&range2=1999999;
……;
http://xxxx/test.mp4?range1=9000000&range2=10000000。
若进一步对参数进行加密生成参数密文后再添加至子请求的URL中,则子请求的URL可以分别为:
http://xxxx/test.mp4?a1=XXXX1&b2=YYYY1;
http://xxxx/test.mp4?a1=XXXX2&b2=YYYY2;
……;
http://xxxx/test.mp4?a1=XXXX10&b2=YYYY10。
步骤S204,所述服务端设备向多个其它服务端设备分别发送所述子请求,以使所述其它服务端设备根据所述子请求的URL中的子范围参数,向所述服务端设备返回对应的子内容。在该处理过程中,发起子请求的服务端设备相较于接收子请求的其它服务端设备之间的关系即为客户端与服务端的关系,因此对于其它服务端设备,可以采用前述图1中服务端设备处理目标请求的方式,将子请求视为目标请求进行处理,由此发起子请求的服务端设备范围对应的子内容。
步骤S205,所述服务端设备在收到各个子请求对应的子内容后,可以将所述子内容拼接为第一内容,并将所述第一内容返回给所述客户端设备。由于整个处理过程中,将数据量较大的资源的访问进行了拆分,将其拆分为多个数据量较小的资源的获取过程,通过子请求的交互方式,服务端设备之间可以实现分布式处理、资源优化和网络传输优化,这种技术方案具有较高的弹性和可扩展性,能够提高***的处理效率和响应性能,避免了服务端设备的带宽资源和计算资源在短时间内被大量占用,导致响应速度降低,服务质量下降。
此外,上述对访问资源进行分割的方式,也可以适用于整个文件的访问过程,此时可以视为第一内容的范围参数是整个文件的范围。例如,当客户端设备访问某一目标文件的整个文件,而非该目标文件中的某一范围的第一内容时,服务端设备可以根据对应的HTTP访问请求判断该目标文件的数据量是否超过了预设值。若超过了预设值,可以将该目标文件的数据进行范围划分,确定多个子范围参数。例如,某一目标文件的数量为20000000字节,则可以将其视为一个range=0-20000000的范围参数划分为多个子范围参数,进而采用如图2所示方案对其进行处理。
图3示出了采用本申请实施例中的方案实现文件部分内容访问时的处理流程,本实施例中通过构造范围参数实现请求文件的部分内容,具体包括以下的步骤:
步骤S301,客户端设备将HTTP访问请求的Range请求头去掉,构造URL中的范围参数。其中,范围参数的名称可自定义,如range或者其它,与服务端设备预先协商确定即可,服务端设备可识别该范围参数解析出需要访问的范围即可。
步骤S302,客户端设备使用携带有范围参数的URL向服务端发起HTTP访问请求。如:http://xxxx/test.mp4?range=0-50。
步骤S303,服务端设备根据识别的范围参数,响应对应范围的数据内容给客户端设备,如响应整个文件中0-50字节的数据内容给客户端设备。其中,实际可以需要根据服务端设备的文件缓存情况,确定是否需要回源拉取文件。
图4示出了采用本申请实施例中的方案实现另一种方式的文件部分内容访问时的处理流程。本实施例在构造范围参数实现请求文件的部分内容的基础上,将范围参数分割为两个参数,即范围其实参数和范围终止参数,分别对应所请求文件范围的起始位置和终止位置。具体包括以下的步骤:
步骤S401,客户端设备将HTTP访问请求的Range请求头去掉,构造URL中的范围起始参数和范围终止参数。例如对应于range=0-50的范围,可以构造范围起始参数range1=0和范围终止参数range2=50。其中,范围起始参数和范围终止参数的名称可自定义,如range1和range2或者其它,与服务端设备预先协商确定即可,服务端设备可识别该参数解析出需要访问的范围即可。
步骤S402,客户端设备使用携带有上述参数的URL向服务端发起HTTP访问请求。如:http://xxxx/test.mp4?range1=0&range2=50。
步骤S403,服务端设备根据识别的范围起始参数和范围终止参数,响应对应范围的数据内容给客户端设备,如响应整个文件中0-50字节的数据内容给客户端设备。其中,实际可以需要根据服务端设备的文件缓存情况,确定是否需要回源拉取文件。
图5示出了采用本申请实施例中的方案实现另一种方式的文件部分内容访问时的处理流程,本实施例在构造范围起始参数和范围终止参数实现请求文件的部分内容的基础上,进一步地对参数进行加密。具体包括以下的步骤:
步骤S501,客户端设备将HTTP访问请求的Range请求头去掉,构造URL中的范围起始参数和范围终止参数。例如对应于range=0-50的范围,可以构造范围起始参数range1=0和范围终止参数range2=50。其中,范围起始参数和范围终止参数的名称可自定义,如range1和range2或者其它,与服务端设备预先协商确定即可,服务端设备可识别该参数解析出需要访问的范围即可。
步骤S502,对范围起始参数和范围终止参数的名称和值进行加密,生成参数密文。其中,加密方式不限,可与服务端设备预先协商,使得服务端设备可以通过预先约定的解密方式完成解密过程,实际场景中可以使用任意动态或静态的加密方式。例如,本实施例中两个参数的加密结果为:a=XXXX以及b=YYYY
步骤S503,客户端设备使用携带有上述参数密文的URL向服务端发起HTTP访问请求。如:http://xxxx/test.mp4?a=XXXX&b=YYYY。
步骤S504,服务端设备根据解密获得的范围起始参数和范围终止参数,响应对应范围的数据内容给客户端设备,如响应整个文件中0-50字节的数据内容给客户端设备。其中,实际可以需要根据服务端设备的文件缓存情况,确定是否需要回源拉取文件。
图6示出了采用本申请实施例中的方案实现另一种方式的文件部分内容访问时的处理流程,本实施例中会对数据量较大的请求内容进行切割,然后构造范围起始参数和范围终止参数实现请求文件的部分内容并对参数进行加密。具体包括以下的步骤:
步骤S601,服务端设备在接收到HTTP访问请求时,判断所请求的文件内容的大小是否超过需要切割的预设值。
步骤S602,如果超过需要切割的预设值,按照设定的策略对请求进行切割所请求的文件内容的范围进行切割。比如超过900MB就进行切割,用户请求文件范围的大小有1000MB,服务端设备会将1000MB的文件请求进行切割,比如切割成每个100MB的范围。
在本发明的实施例中,可以利用处于边缘节点的服务端计算能力来进行范围切割和数据传输的优化。边缘节点可以根据请求文件的大小和网络状况,自主决策切割范围和并行传输的数量,以最大化利用边缘节点的计算资源和网络带宽。
在一个实施例中,通过引入智能算法和自适应范围切割,以进一步优化请求文件的切割策略,适应不同的网络环境和用户需求。例如,可以通过分析历史请求数据、网络延迟、带宽利用率和服务端设备负载等因素,建立智能模型来预测最佳的切割范围和数量。智能算法可以根据实时的网络状况和服务端设备的负载情况,自动调整切割范围和数量,以提高数据传输效率和用户体验。例如,当网络延迟较高时,可以选择较小的切割范围,减少单个请求的传输时间;而在网络带宽充足的情况下,可以增加切割范围,提高并行传输的效率。
因此,边缘节点的服务端通过将智能算法和自适应范围切割的手段融入到请求文件切割和范围参数的生成过程中,基于分析实时的网络和设备状态等,动态生成适应性的切割范围参数,并将其嵌入到URL参数中,可以实现更加智能和高效的数据传输。
步骤S603,根据切割范围的起始位置和终止位置,构造URL中的范围起始参数和范围终止参数,并加密参数名称和参数值,获取10组参数密文,并添加至子请求的URL中。其中,切割的策略、参数名称以及加密的方式均可自定义。
步骤S604,服务端设备将切割所获得的子请求转发至CDN内部的其它CDN节点,CDN节点从子请求的URL中获取范围起始参数、范围终止参数的参数密文并解密。
步骤S605,CDN节点根据识别和解密的参数响应对应范围的数据内容给服务端设备。其中,在响应时需要根据各个CDN节点的文件缓存情况,确定是否需要回源拉取文件。
步骤S606,服务端设备将各个CDN节点的响应内容进行拼装,其中拼接方式可根据每部分响应内容的MD5(Message Digest Algorithm 5,消息摘要算法第5版)进行拼接。当然,拼接方式不限于MD5一种方式,还可包括其他方式。
步骤S607,服务端设备将拼接完成后所获得的文件内容响应客户端设备。
本申请实施例还提供了一种防止HTTP放大攻击的客户端设备,所述客户端设备的结构如图7所示,包括请求构建模块710、发送模块720和接收模块730。其中,请求构建模块710用于在确定需要获取目标文件的第一内容时,确定关于所述第一内容的范围参数,将所述范围参数添加至目标请求的URL中,其中,所述第一内容为目标文件中的一分部内容,所述范围参数用于标识所述第一内容在目标文件中的范围,所述目标请求用于向服务端设备获取所述目标文件的第一内容。发送模块720用于将所述包含范围参数的目标请求发送至服务端设备,以使所述服务端设备根据所述目标请求的URL中的范围参数,向所述客户端设备返回目标文件中的第一内容。接收模块730用于接收服务端设备返回的目标文件中的第一内容。
本申请实施例还提供了一种防止HTTP放大攻击的服务端设备,所述服务端设备的结构如图8所示,包括接收模块810、处理模块820和发送模块830。其中,所述接收模块810用于从所述客户端设备接收包含范围参数的目标请求,其中,所述范围参数由客户端设备添加于所述目标请求的URL中。处理模块820用于对所述目标请求的URL进行解析,获取所述范围参数,并根据所述范围参数确定客户端设备所需要获取目标文件中的第一内容;发送模块830用于将所述第一内容返回给所述客户端设备。
综上所述,本申请实施例中所提供的防止HTTP放大攻击的方案,至少具有以下的有益效果:
1)缩短响应耗时:相比于按照HTTP协议标准通过Range请求头获取特定范围的文件内容,本申请实施例的方案通过将请求文件的特定范围信息放到URL参数中,减少了预检请求,缩短了预检请求的耗时,从而缩短HTTP访问请求的耗时,提升用户体验。
2)防止HTTP放大攻击:相比于按照HTTP协议标准通过Range请求头获取特定范围的文件,本申请实施例的方案通过将请求文件的特定范围信息放到URL参数中,并可根据需要对范围参数进行加密,防止攻击者获取到信息后进行构造并发起大量请求,以此消耗服务端设备所在的CDN的内部带宽同时利用CDN消耗源站带宽,增加了攻击难度,对CDN和源站起到了保护作用,防止了HTTP放大攻击。
3)防止单个服务器因大文件请求被阻塞:CDN内部一般采用URL hash的方式确保服务集群缓存一份相同的文件且用户访问能命中缓存文件,如果用户请求的文件的数据量较大且并发请求数较多的情况下,获取文件时长将会更长,期间客户端设备和服务端设备持续保持连接,且请求数较多,可能大量消耗集群中某一个服务器的带宽,导致服务器阻塞。本申请实施例的方案针对超过一定数据量大小的请求进行切割,将切割后的子请求转发至CDN内部,并且将切割后的请求文件的特定范围信息放到URL参数中,并可根据需要对范围参数进行加密,从而达到集群负载均衡,减少集群中某一台服务器阻塞的风险,减少服务器响应慢引起服务质量问题的可能性,同时防止攻击者获取范围信息,构造大量攻击请求,减少攻击危害。
此外,本申请实施例还提供了一种计算设备,该计算设备的结构如图9所示,包括用于存储计算机程序指令的存储器910和用于执行计算机程序指令的处理器920,其中,当该计算机程序指令被该处理器执行时,触发所述处理器执行所述防止HTTP放大攻击的方法。
本申请实施例中的方法和/或实施例可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在该计算机程序被处理单元执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图或框图示出了按照本申请各种实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的针对硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请实施例还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个计算机程序指令,所述计算机程序指令可被处理器执行以实现前述本申请的多个实施例的方法和/或技术方案的步骤。
此外,本申请实施例还提供了一种计算机程序,所述计算机程序存储于计算机设备,使得计算机设备执行前述本申请的多个实施例的方法和/或技术方案的步骤。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (15)
1.一种防止HTTP放大攻击的方法,其特征在于,所述方法应用于客户端设备,包括:
客户端设备在确定需要获取目标文件的第一内容时,确定关于所述第一内容的范围参数,其中,所述第一内容为目标文件中的一部分内容,所述范围参数用于标识所述第一内容在目标文件中的范围;
所述客户端设备将所述范围参数添加至目标请求的URL中,所述目标请求用于向服务端设备获取所述目标文件的第一内容;
所述客户端设备将所述包含范围参数的目标请求发送至服务端设备,以使所述服务端设备根据所述目标请求的URL中的范围参数,向所述客户端设备返回目标文件中的第一内容。
2.根据权利要求1所述的方法,其特征在于,所述范围参数包括范围起始参数和范围终止参数;
客户端设备在确定需要获取目标文件的第一内容时,确定关于所述第一内容的范围参数,包括:
客户端设备在确定需要获取目标文件的第一内容时,确定关于所述第一内容在所述目标文件中的范围起始参数和范围终止参数。
3.根据权利要求1所述的方法,其特征在于,所述客户端设备将所述范围参数添加至目标请求的URL中,包括:
所述客户端设备对所述范围参数进行加密处理,生成对应的参数密文;
所述客户端设备将所述参数密文添加至所述目标请求的URL中。
4.根据权利要求3所述的方法,其特征在于,所述客户端设备对所述范围参数进行加密处理,生成对应的参数密文,包括:
基于预先约定的动态信息和预设的动态加密算法,对所述范围参数进行加密处理,生成对应的动态参数密文。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述目标请求为包括Range请求头的HTTP访问请求,所述客户端设备在将所述包含范围参数的目标请求发送至服务端设备之前,删除所述Range请求头。
6.一种防止HTTP放大攻击的方法,其特征在于,所述方法应用于服务端设备,包括:
服务端设备从客户端设备接收包含范围参数的目标请求,其中,所述范围参数由客户端设备添加于所述目标请求的URL中;
所述服务端设备对所述目标请求的URL进行解析,获取所述范围参数,并根据所述范围参数确定客户端设备所需要获取目标文件中的第一内容;
所述服务端设备将所述第一内容返回给所述客户端设备。
7.根据权利要求6所述的方法,其特征在于,所述服务端设备对所述目标请求的URL进行解析,获取所述范围参数,并根据所述范围参数确定客户端设备所需要获取目标文件中的第一内容,包括:
所述服务端设备对所述目标请求的URL进行解析,获取范围起始参数和范围终止参数;
所述服务端设备根据所述范围起始参数和范围终止参数,确定范围参数。
8.根据权利要求6所述的方法,其特征在于,所述服务端设备对所述目标请求的URL进行解析,获取所述范围参数,包括:
所述服务端设备对所述目标请求的URL进行解析,获取对应于所述范围参数的参数密文;
所述服务端设备对所述参数密文进行解密处理,获取所述范围参数。
9.根据权利要求8所述的方法,其特征在于,所述服务端设备对所述参数密文进行解密处理,获取所述范围参数,包括:
基于预先约定的动态信息和预设的动态加密算法,对动态参数密文进行解密处理,获取所述范围参数。
10.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述目标请求为包括Range请求头的HTTP访问请求,所述服务端设备在检测到目标请求的URL中包含范围参数时,忽略所述Range请求头。
11.根据权利要求6至10中任一项所述的方法,其特征在于,所述服务端设备将所述第一内容返回给所述客户端设备,包括:
服务端设备判断所述第一内容的数据量是否超过预设值;
若超过预设值,所述服务端设备对所述范围参数进行切分,确定多个子范围参数,所述子范围参数为所述范围参数的子集,且所述子范围参数的并集大于等于所述范围参数;
服务端设备将所述子范围参数添加至子请求的URL中,生成对应于不同子范围参数的多个子请求;
所述服务端设备向多个其它服务端设备分别发送所述子请求,以使所述其它服务端设备根据所述子请求的URL中的子范围参数,向所述服务端设备返回对应的子内容;
所述服务端设备将所述子内容拼接为第一内容后,将所述第一内容返回给所述客户端设备。
12.一种防止HTTP放大攻击的客户端设备,其特征在于,所述客户端设备包括:
请求构建模块,用于在确定需要获取目标文件的第一内容时,确定关于所述第一内容的范围参数,将所述范围参数添加至目标请求的URL中,其中,所述第一内容为目标文件中的一分部内容,所述范围参数用于标识所述第一内容在目标文件中的范围,所述目标请求用于向服务端设备获取所述目标文件的第一内容;
发送模块,用于将所述包含范围参数的目标请求发送至服务端设备,以使所述服务端设备根据所述目标请求的URL中的范围参数,向所述客户端设备返回目标文件中的第一内容;
接收模块,用于接收服务端设备返回的目标文件中的第一内容。
13.一种防止HTTP放大攻击的服务端设备,其特征在于,所述服务端设备包括:
接收模块,用于从所述客户端设备接收包含范围参数的目标请求,其中,所述范围参数由客户端设备添加于所述目标请求的URL中;
处理模块,用于对所述目标请求的URL进行解析,获取所述范围参数,并根据所述范围参数确定客户端设备所需要获取目标文件中的第一内容;
发送模块,用于将所述第一内容返回给所述客户端设备。
14.一种计算设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行权利要求1至11中任一项所述的方法。
15.一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现如权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310730768.3A CN116827619A (zh) | 2023-06-16 | 2023-06-16 | 防止http放大攻击的方法、设备以及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310730768.3A CN116827619A (zh) | 2023-06-16 | 2023-06-16 | 防止http放大攻击的方法、设备以及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116827619A true CN116827619A (zh) | 2023-09-29 |
Family
ID=88112079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310730768.3A Pending CN116827619A (zh) | 2023-06-16 | 2023-06-16 | 防止http放大攻击的方法、设备以及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116827619A (zh) |
-
2023
- 2023-06-16 CN CN202310730768.3A patent/CN116827619A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10986159B2 (en) | Client side cache visibility with TLS session tickets | |
US11303431B2 (en) | Method and system for performing SSL handshake | |
US20130103791A1 (en) | Optimizing content delivery over a protocol that enables request multiplexing and flow control | |
KR102308269B1 (ko) | 프록시 기반 네트워크 통신들에서의 제어 데이터의 전송 | |
US9390200B2 (en) | Local caching device, system and method for providing content caching service | |
EP2800310B1 (en) | Content transmitting system, method for optimizing network traffic in the system, central control device and local caching device | |
AU2021200397B2 (en) | Resource segmentation to improve delivery performance | |
US10742720B2 (en) | Cloud storage accelerator | |
US8824676B2 (en) | Streaming video to cellular phones | |
US10412055B2 (en) | Enabling transmission encryption | |
US10021195B2 (en) | Cross-device synchronization system for account-level information | |
US20170171166A1 (en) | Anti-hotlinking method and electronic device | |
EP2521311A1 (en) | Resource control method, apparatus and system in peer-to-peer network | |
CN114124891B (zh) | 网络请求的处理方法和装置、存储介质及电子装置 | |
US20130024543A1 (en) | Methods for generating multiple responses to a single request message and devices thereof | |
CN116827619A (zh) | 防止http放大攻击的方法、设备以及计算机可读介质 | |
CN115766902A (zh) | 一种通过quic发送非敏感数据的方法、装置、设备、介质 | |
CN113204721A (zh) | 请求处理方法、节点及存储介质 | |
CN111049949B (zh) | 域名识别方法、装置、电子设备和介质 | |
WO2022206479A1 (zh) | 调度方法、装置、介质及设备 | |
CN114500399A (zh) | 数据传输方法、设备、介质和产品 | |
CN117579288A (zh) | 握手复用方法、设备以及计算机可读介质 | |
CN117041340A (zh) | 信令协商、数据通信方法、装置、电子设备及存储介质 | |
CN116828020A (zh) | 通信方法和装置、电子设备和存储介质 |
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 |