发明内容
为解决上述问题,本发明实施例的目的在于提供一种防盗链的方法、装置、存储介质及电子设备。
第一方面,本发明实施例提供了一种防盗链的方法,包括:
从多个防盗链规则集中选取一个作为当前防盗链规则集,并将所述当前防盗链规则集分配至目标网站,所述防盗链规则集包括一个或多个防盗链规则;
确定预设的第一服务器对所述目标网站进行盗链时发起的第一请求,并确定所述第一请求中被所述目标网站拦截到的第二请求,根据所述第一请求和所述第二请求确定有效拦截参数;
确定预设的第二服务器对所述目标网站进行正常访问时发起的第三请求,并确定所述第三请求中被所述目标网站拦截到的第四请求,根据所述第三请求和所述第四请求确定误拦截参数;
根据所述有效拦截参数和所述误拦截参数确定所述当前防盗链规则集的防盗参数;
将另一个所述防盗链规则集作为当前防盗链规则集,重复上述确定所述当前防盗链规则集的防盗参数的过程,确定多个所述防盗链规则集的防盗参数,并根据所述防盗参数选取一个所述防盗链规则集作为所述目标网站的有效防盗链规则集。
在一种可能的实现方式中,在所述确定预设的第一服务器对所述目标网站进行盗链时发起的第一请求之前,该方法还包括:
确定所述目标网站的基础访问参数,所述基础访问参数包括页面浏览量、唯一访客、网站流量中的一项或多项;
在将所述当前防盗链规则集分配至目标网站之后,确定所述目标网站的当前访问参数,并根据所述基础访问参数与所述当前访问参数之间的差值确定所述当前防盗链规则集的访问变化量;
在所述访问变化量超过预设阈值时,确定预设的第一服务器对所述目标网站进行盗链时发起的第一请求。
在一种可能的实现方式中,所述根据所述有效拦截参数和所述误拦截参数确定所述当前防盗链规则集的防盗参数包括:
根据所述访问变化量、所述有效拦截参数、所述误拦截参数确定所述当前防盗链规则集的防盗参数,所述防盗参数与所述访问变化量、所述有效拦截参数为正相关关系,所述防盗参数与所述误拦截参数为负相关关系。
在一种可能的实现方式中,所述根据所述有效拦截参数和所述误拦截参数确定所述当前防盗链规则集的防盗参数包括:
重复多次确定所述当前防盗链规则集的所述有效拦截参数和所述误拦截参数,并相应确定所述当前防盗链规则集的多个临时防盗参数;
去除所述当前防盗链规则集的多个所述临时防盗参数中的一个或多个最大临时防盗参数和/或一个或多个最小临时防盗参数,将所述当前防盗链规则集剩余的所述临时防盗参数的平均值作为所述当前防盗链规则集的防盗参数。
在一种可能的实现方式中,所述根据所述第一请求和所述第二请求确定有效拦截参数包括:所述根据所述第一请求的数量N1和所述第二请求的数量N2确定有效拦截参数H1,且H1=N2/N1;
所述根据所述第三请求和所述第四请求确定误拦截参数包括:所述根据所述第三请求的数量N3和所述第四请求的数量N4确定误拦截参数H2,且H2=N4/N3。
在一种可能的实现方式中,在所述根据所述防盗参数选取一个所述防盗链规则集作为所述目标网站的有效防盗链规则集之后,该方法还包括:
在预设时间段之后,或者在所述目标网站的流量值增长量超过预设数值时,重新确定多个防盗链规则集,并重复上述确定所述目标网站的有效防盗链规则集的过程。
第二方面,本发明实施例还提供了一种防盗链的装置,包括:
预处理模块,用于从多个防盗链规则集中选取一个作为当前防盗链规则集,并将所述当前防盗链规则集分配至目标网站,所述防盗链规则集包括一个或多个防盗链规则;
盗链模拟模块,用于确定预设的第一服务器对所述目标网站进行盗链时发起的第一请求,并确定所述第一请求中被所述目标网站拦截到的第二请求,根据所述第一请求和所述第二请求确定有效拦截参数;
正常访问模拟模块,用于确定预设的第二服务器对所述目标网站进行正常访问时发起的第三请求,并确定所述第三请求中被所述目标网站拦截到的第四请求,根据所述第三请求和所述第四请求确定误拦截参数;
参数确定模块,用于根据所述有效拦截参数和所述误拦截参数确定所述当前防盗链规则集的防盗参数;
防盗链规则选取模块,用于将另一个所述防盗链规则集作为当前防盗链规则集,重复上述确定所述当前防盗链规则集的防盗参数的过程,确定多个所述防盗链规则集的防盗参数,并根据所述防盗参数选取一个所述防盗链规则集作为所述目标网站的有效防盗链规则集。
在一种可能的实现方式中,该装置还包括:访问变化量确定模块;
在所述盗链模拟模块确定预设的第一服务器对所述目标网站进行盗链时发起的第一请求之前,所述访问变化量确定模块用于:
确定所述目标网站的基础访问参数,所述基础访问参数包括页面浏览量、唯一访客、网站流量中的一项或多项;
在将所述当前防盗链规则集分配至目标网站之后,确定所述目标网站的当前访问参数,并根据所述基础访问参数与所述当前访问参数之间的差值确定所述当前防盗链规则集的访问变化量;
在所述访问变化量超过预设阈值时,确定预设的第一服务器对所述目标网站进行盗链时发起的第一请求。
第三方面,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于上述任意一项所述的防盗链的方法。
第四方面,本发明实施例还提供了一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任意一项所述的防盗链的方法。
本发明实施例上述第一方面提供的方案中,为目标网站分配当前防盗链规则集之后,通过两个服务器分别模拟盗链行为和正常访问行为,从而可以确定该当前防盗链规则集对盗链行为的拦截能力以及对正常访问行为的误拦可能性,即可以确定有效拦截参数和误拦截参数,进而确定该当前防盗链规则集的防盗参数,从而能够基于防盗参数选出防盗效果最好的防盗链规则集。该方法通过模拟盗链的方式对防盗链规则集进行动态评分,从而能够得到最适合目标网站的防盗链规则,不会固化防盗链规则;基于有效拦截参数和误拦截参数能够更准确地表征防盗链规则集的防盗效果,且针对不同目标网站的实际情况动态调整防盗链规则,不需要人工介入即可实现自动优化。通过定时或流量值较前次执行完成后增长某一值时,再度执行前述操作,从而实现不定时及频繁的检测,可以比人为设置更快的变更防盗链规则,实现动态适应性调整。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明实施例提供的一种防盗链的方法,参见图1所示,包括:
步骤101:从多个防盗链规则集中选取一个作为当前防盗链规则集,并将当前防盗链规则集分配至目标网站,防盗链规则集包括一个或多个防盗链规则。
本发明实施例中,预先设置多个防盗链规则,基于多个防盗链规则生成多个不同的、包含一个或多个防盗链规则的防盗链规则集。例如,预先设置两个防盗链规则A、B,则可以生成多个防盗链规则集,例如,该防盗链规则集可以包含防盗链规则A,或者包含防盗链规则B,或者,该防盗链规则集可以包含防盗链规则A和B。本实施例中,若某网站存在被盗链的风险,则可以将该网站作为目标网站,通过为其设置防盗链规则的方式降低被盗链的风险和损失。具体的,本实施例中从预先确定的多个防盗链规则集中选取一个防盗链规则集作为当前防盗链规则集,之后将该当前防盗链规则集分配至该目标网站,从而可以为该目标网站设置相应的一个或多个防盗链规则,之后通过该当前防盗链规则集的防盗链效果即可判断该当前防盗链规则集是否适合目标网站。
步骤102:确定预设的第一服务器对目标网站进行盗链时发起的第一请求,并确定第一请求中被目标网站拦截到的第二请求,根据第一请求和第二请求确定有效拦截参数。
本发明实施例中,预先设置用于盗链的服务器,即第一服务器;该第一服务器与目标网站的服务器不同,用于模拟盗链行为。本实施例中,该第一服务器向目标网站发送请求(即第一请求),以对目标网站进行盗链;例如,该第一服务器可以通过伪装cookie、session的方式对目标网站进行盗链。之后,基于第一服务器对目标网站进行盗链时发起的第一请求,以及目标网站从中拦截到的第二请求可以确定该当前防盗链规则集的有效拦截参数。
具体的,本实施例中可以根据第一请求的数量N1和第二请求的数量N2确定有效拦截参数H1,且H1=N2/N1。即,该有效拦截参数H1表示目标网站拦截盗链行为的有效率;例如,第一服务器发起了100次用于盗链的访问请求(即第一请求),而目标网站拦截到其中的80次请求(即第二请求),则该有效拦截参数即为80%。本实施例中,有效拦截参数越高,说明当前防盗链规则集越能有效地拦截盗链行为,防盗链效果越好。
步骤103:确定预设的第二服务器对目标网站进行正常访问时发起的第三请求,并确定第三请求中被目标网站拦截到的第四请求,根据第三请求和第四请求确定误拦截参数。
本发明实施例中,还预先设置第二服务器,该第二服务器用于模拟正常的访问行为,即第二服务器正常访问该目标网站。具体的,第二服务器向目标网站发送第二请求以实现正常访问,之后,基于第二服务器对目标网站进行正常访问时发起的第三请求,以及目标网站从中拦截到的第四请求来确定当前防盗链规则集的误拦截参数。其中,若目标网站在设置当前防盗链规则集之后会拦截某些请求,若目标网站拦截了正常访问时的第三请求,则该拦截行为是异常的。
具体的,本实施例中可以根据第三请求的数量N3和第四请求的数量N4确定误拦截参数H2,且H2=N4/N3。本实施例中,误拦截参数H2可以表示目标网站错误拦截正常行为的概率;例如,第二服务器发起了200次用于正常访问的请求(即第三请求),而目标网站拦截到其中的20次请求(即第四请求),则该误拦截参数即为10%。其中,误拦截参数越高,说明当前防盗链规则集越可能错误地拦截正常行为,则防盗链效果越差。
步骤104:根据有效拦截参数和误拦截参数确定当前防盗链规则集的防盗参数。
本发明实施例中,在确定当前防盗链规则集的有效拦截参数和误拦截参数之后,即可确定相应的防盗参数。其中,该防盗参数用于综合表征当前防盗链规则集对目标网站的防盗效果,且不会影响用户正常访问目标网站。此外,该防盗参数与有效拦截参数之间为正相关关系,与误拦截参数之间为负相关关系;即,有效拦截参数越大,防盗参数越大,该当前防盗链规则集的防盗链效果越好;相反的,误拦截参数越小,防盗参数也越大,当前防盗链规则集的防盗链效果也越好。
步骤105:将另一个防盗链规则集作为当前防盗链规则集,重复上述确定当前防盗链规则集的防盗参数的过程,确定多个防盗链规则集的防盗参数,并根据防盗参数选取一个防盗链规则集作为目标网站的有效防盗链规则集。
本发明实施例中,在确定多个防盗链规则集中一个防盗链规则集(即当前防盗链规则集)的防盗参数之后,可以再将其他的防盗链规则集作为当前防盗链规则集,并重复执行上述确定当前防盗链规则集的防盗参数的过程,即重复执行上述步骤102-步骤104,从而可以分别确定多个防盗链规则集的防盗参数。如上所述,该防盗参数可以表征防盗链规则集的防盗链效果,故本实施例中可以根据防盗参数选取一个防盗链规则集作为目标网站的有效防盗链规则集,之后目标网站设置该有效防盗链规则集中的防盗链规则即可,可以实现有效防盗链。
具体的,可以将最大防盗参数所对应的防盗链规则集作为该目标网站的有效防盗链规则集;或者,可以设置一个参数阈值,若某个防盗链规则集的防盗参数大于该参数阈值,则可将该防盗链规则集作为有效防盗链规则集;或者,可以设置一个参数阈值,若最大防盗参数大于该参数阈值,则可将最大防盗参数所对应的防盗链规则集作为该目标网站的有效防盗链规则集,若最大防盗参数小于该参数阈值,则需要重新确定防盗链规则集,并确定相应的防盗参数,直至新确定的防盗参数大于该参数阈值。
本发明实施例提供的一种防盗链的方法,为目标网站分配当前防盗链规则集之后,通过两个服务器分别模拟盗链行为和正常访问行为,从而可以确定该当前防盗链规则集对盗链行为的拦截能力以及对正常访问行为的误拦可能性,即可以确定有效拦截参数和误拦截参数,进而确定该当前防盗链规则集的防盗参数,从而能够基于防盗参数选出防盗效果最好的防盗链规则集。该方法通过模拟盗链的方式对防盗链规则集进行动态评分,从而能够得到最适合目标网站的防盗链规则,不会固化防盗链规则;基于有效拦截参数和误拦截参数能够更准确地表征防盗链规则集的防盗效果,且针对不同目标网站的实际情况动态调整防盗链规则,不需要人工介入即可实现自动优化。
在上述实施例的基础上,在步骤102“确定预设的第一服务器对目标网站进行盗链时发起的第一请求”之前,该方法还包括:
步骤A1:确定目标网站的基础访问参数,基础访问参数包括页面浏览量、唯一访客、网站流量中的一项或多项。
本发明实施例中,目标网站在正常状态下,统计该目标网站的页面浏览量(PageView,PV)、唯一访客(Unique Visitor,UV)、网站流量等基础访问参数。具体的,可以将目标网站没有设置防盗链规则时的状态作为正常状态,或者将目标网站设置最基本且必须的防盗链规则时的状态作为正常状态。
步骤A2:在将当前防盗链规则集分配至目标网站之后,确定目标网站的当前访问参数,并根据基础访问参数与当前访问参数之间的差值确定当前防盗链规则集的访问变化量。
本发明实施例中,将当前防盗链规则集分配至目标网站之后,目标网站设置相应的一个或多个防盗链规则,之后重复上述步骤A1中确定访问参数的过程,并将此时确定的访问参数作为当前访问参数,即该当前访问参数也可以包括页面浏览量、唯一访客、网站流量中的一项或多项。之后将基础访问参数与当前访问参数作对比,即可确定当前防盗链规则集的访问变化量,该访问变化量可以为变化数量,也可以为变化量的百分比。其中,在访问参数(包括基础访问参数和当前访问参数)包含多项参数时,例如其包含页面浏览量、唯一访客和网站流量三项,此时可以将多项参数的变换量之和作为最终确定的访问变化量,也可以对多项参数的变化量进行加权平均,进而确定访问变化量。
步骤A3:在访问变化量超过预设阈值时,继续执行步骤102,即确定预设的第一服务器对目标网站进行盗链时发起的第一请求。
本发明实施例中,若该访问变化量较小,则说明该目标网站此时没有被盗连,或者该当前防盗链规则集没有起到阻拦效果;但由于本实施例中会设置多个防盗链规则集进行尝试,防盗链规则集没有起到阻拦效果的概率较低,故在访问变化量较小时可以认为该目标网站此时没有被盗链,即此时不需要额外设置防盗链规则,或者直接采用步骤A2(或者,步骤101)中分配的当前防盗链规则集即可。若该访问变化量较大,例如超过了预设阈值,则说明该当前防盗链规则集拦截了部分访问请求,该部分的访问请求极有可能属于盗链行为,即该目标网站当前存在盗链现象,此时需要为目标网站分配合适的防盗链规则集,即有效防盗链规则集;故通过执行后续的步骤102、103等,即可为该目标网站分配有效防盗链规则集。
此外,为保证置信度,对于同一个当前防盗链规则集,可以多次重复执行上述的步骤A1和A2,进而可以确定多个访问变化量,并将其平均值作为最终确定的访问变化量。
可选的,在确定访问变化量时,上述步骤104“根据有效拦截参数和误拦截参数确定当前防盗链规则集的防盗参数”包括:
步骤B1:根据访问变化量、有效拦截参数、误拦截参数确定当前防盗链规则集的防盗参数,防盗参数与访问变化量、有效拦截参数为正相关关系,防盗参数与误拦截参数为负相关关系。
本发明实施例中,基于访问变化量、有效拦截参数、误拦截参数确定当前防盗链规则集的防盗参数,具体的,可以将访问变化量、有效拦截参数、误拦截参数三者之和作为该防盗参数,或者也可采用加权的方式计算防盗参数,具体基于实际情况而定。此外,如上所述,该防盗参数与有效拦截参数之间为正相关关系,与误拦截参数之间为负相关关系;同时,该访问变化量也可以表征当前防盗链规则集的防盗能力,访问变化量越大,说明该当前防盗链规则集拦截了更多的访问请求,即防盗能力越强,故该防盗参数与该访问变化量之间也为正相关关系。
在上述实施例的基础上,上述步骤104“根据有效拦截参数和误拦截参数确定当前防盗链规则集的防盗参数”包括:
步骤C1:重复多次确定当前防盗链规则集的有效拦截参数和误拦截参数,并相应确定当前防盗链规则集的多个临时防盗参数。
步骤C2:去除当前防盗链规则集的多个临时防盗参数中的一个或多个最大临时防盗参数和/或一个或多个最小临时防盗参数,将当前防盗链规则集剩余的临时防盗参数的平均值作为当前防盗链规则集的防盗参数。
本发明实施例中,对于同一个当前防盗链规则集,通过重复上述步骤102和步骤103即可确定该当前防盗链规则集的多个有效拦截参数和多个误拦截参数,通过其中的一个有效拦截参数和相应的一个误拦截参数即可确定一个防盗参数,即临时防盗参数。之后去除临时防盗参数中的最大值,即去除一个或多个最大临时防盗参数,并去除临时防盗参数中的最小值,即去除一个或多个最小临时防盗参数,进而基于剩余的临时防盗参数的平均值即可计算出该当前防盗链规则集的防盗参数。例如,去除m%的最大临时防盗参数及n%的最小临时防盗参数,从而基于剩余的临时防盗参数即可最终确定当前防盗链规则集的防盗参数。
可选的,也可以进一步确定多个访问变化量,即每次确定一个临时防盗参数时,均重新确定访问变化量、有效拦截参数和误拦截参数,基于重新确定的访问变化量、有效拦截参数和误拦截参数再次计算一个临时防盗参数,从而可以确定多个临时防盗参数,进而基于上述步骤C2可以最终确定当前防盗链规则集的防盗参数。该方法通过多个临时防盗参数最终确定当前防盗链规则集的防盗参数,能够提高计算精度。
可选的,在上述步骤105“根据防盗参数选取一个防盗链规则集作为目标网站的有效防盗链规则集”之后,该方法还包括:
步骤D1:在预设时间段之后,或者在目标网站的流量值增长量超过预设数值时,重新确定多个防盗链规则集,并重复上述确定目标网站的有效防盗链规则集的过程。
本发明实施例中,在为目标网站分配了有效防盗链规则集之后,经过了预设时间段,则可以重新为该目标网站分配有效防盗链规则集,以使得该目标网站适应新的环境;或者,若目标网站的流量值正常量超过了预设数值,则说明该目标网站存在较多的访问行为,此时容易新增盗链现象,故此时也可以重新为该目标网站分配有效防盗链规则集。本实施例中通过定时或流量值较前次执行完成后增长某一值时,再度执行前述操作,从而实现不定时及频繁的检测,可以比人为设置更快的变更防盗链规则,实现动态适应性调整。
下面通过一个实施例详细介绍该方法的详细流程。本发明实施例中,参见图2所示,该方法包括:
步骤201:从多个防盗链规则集中选取一个作为当前防盗链规则集。
步骤202:确定目标网站的基础访问参数,该基础访问参数包括页面浏览量、唯一访客、网站流量中的一项或多项。
步骤203:在将当前防盗链规则集分配至目标网站之后,确定目标网站的当前访问参数,并根据基础访问参数与当前访问参数之间的差值确定当前防盗链规则集的访问变化量。
步骤204:重复上述过程,确定多个访问变化量,并将多个访问变化量的平均值作为最终确定的访问变化量。
步骤205:判断访问变化量是否超过预设阈值,在访问变化量超过预设阈值时,继续步骤206,否则继续步骤202。
步骤206:确定预设的第一服务器对目标网站进行盗链时发起的第一请求,并确定第一请求中被目标网站拦截到的第二请求,根据第一请求和第二请求确定有效拦截参数。
具体的,本实施例中可以根据第一请求的数量N1和第二请求的数量N2确定有效拦截参数H1,且H1=N2/N1。
步骤207:确定预设的第二服务器对目标网站进行正常访问时发起的第三请求,并确定第三请求中被目标网站拦截到的第四请求,根据第三请求和第四请求确定误拦截参数。
具体的,本实施例中可以根据第三请求的数量N3和第四请求的数量N4确定误拦截参数H2,且H2=N4/N3。
步骤208:根据访问变化量、有效拦截参数、误拦截参数确定当前防盗链规则集的临时防盗参数;之后重复上述步骤206和步骤207,基于重新确定的有效拦截参数和误拦截参数确定多个临时防盗参数。
其中,临时防盗参数也是一种防盗参数,其与访问变化量、有效拦截参数为正相关关系,与误拦截参数为负相关关系。
步骤209:去除当前防盗链规则集的多个临时防盗参数中的一个或多个最大临时防盗参数和/或一个或多个最小临时防盗参数,将当前防盗链规则集剩余的临时防盗参数的平均值作为当前防盗链规则集的防盗参数。
步骤210:将另一个防盗链规则集作为当前防盗链规则集,继续执行上述步骤202;在确定所有防盗链规则集的防盗参数之后,继续步骤211。
步骤211:将最大防盗参数所对应的防盗链规则集作为目标网站的有效防盗链规则集。
本发明实施例提供的一种防盗链的方法,为目标网站分配当前防盗链规则集之后,通过两个服务器分别模拟盗链行为和正常访问行为,从而可以确定该当前防盗链规则集对盗链行为的拦截能力以及对正常访问行为的误拦可能性,即可以确定有效拦截参数和误拦截参数,进而确定该当前防盗链规则集的防盗参数,从而能够基于防盗参数选出防盗效果最好的防盗链规则集。该方法通过模拟盗链的方式对防盗链规则集进行动态评分,从而能够得到最适合目标网站的防盗链规则,不会固化防盗链规则;基于有效拦截参数和误拦截参数能够更准确地表征防盗链规则集的防盗效果,且针对不同目标网站的实际情况动态调整防盗链规则,不需要人工介入即可实现自动优化。通过定时或流量值较前次执行完成后增长某一值时,再度执行前述操作,从而实现不定时及频繁的检测,可以比人为设置更快的变更防盗链规则,实现动态适应性调整。
以上详细介绍了防盗链的方法的流程,该方法也可以通过相应的装置实现,下面详细介绍该装置的结构和功能。
本发明实施例提供的一种防盗链的装置,参见图3所示,包括:
预处理模块31,用于从多个防盗链规则集中选取一个作为当前防盗链规则集,并将所述当前防盗链规则集分配至目标网站,所述防盗链规则集包括一个或多个防盗链规则;
盗链模拟模块32,用于确定预设的第一服务器对所述目标网站进行盗链时发起的第一请求,并确定所述第一请求中被所述目标网站拦截到的第二请求,根据所述第一请求和所述第二请求确定有效拦截参数;
正常访问模拟模块33,用于确定预设的第二服务器对所述目标网站进行正常访问时发起的第三请求,并确定所述第三请求中被所述目标网站拦截到的第四请求,根据所述第三请求和所述第四请求确定误拦截参数;
参数确定模块34,用于根据所述有效拦截参数和所述误拦截参数确定所述当前防盗链规则集的防盗参数;
防盗链规则选取模块35,用于将另一个所述防盗链规则集作为当前防盗链规则集,重复上述确定所述当前防盗链规则集的防盗参数的过程,确定多个所述防盗链规则集的防盗参数,并根据所述防盗参数选取一个所述防盗链规则集作为所述目标网站的有效防盗链规则集。
在上述实施例的基础上,该装置还包括:访问变化量确定模块;
在所述盗链模拟模块32确定预设的第一服务器对所述目标网站进行盗链时发起的第一请求之前,所述访问变化量确定模块用于:
确定所述目标网站的基础访问参数,所述基础访问参数包括页面浏览量、唯一访客、网站流量中的一项或多项;
在将所述当前防盗链规则集分配至目标网站之后,确定所述目标网站的当前访问参数,并根据所述基础访问参数与所述当前访问参数之间的差值确定所述当前防盗链规则集的访问变化量;
在所述访问变化量超过预设阈值时,确定预设的第一服务器对所述目标网站进行盗链时发起的第一请求。
在上述实施例的基础上,所述参数确定模块34根据所述有效拦截参数和所述误拦截参数确定所述当前防盗链规则集的防盗参数包括:
根据所述访问变化量、所述有效拦截参数、所述误拦截参数确定所述当前防盗链规则集的防盗参数,所述防盗参数与所述访问变化量、所述有效拦截参数为正相关关系,所述防盗参数与所述误拦截参数为负相关关系。
在上述实施例的基础上,所述参数确定模块34根据所述有效拦截参数和所述误拦截参数确定所述当前防盗链规则集的防盗参数包括:
重复多次确定所述当前防盗链规则集的所述有效拦截参数和所述误拦截参数,并相应确定所述当前防盗链规则集的多个临时防盗参数;
去除所述当前防盗链规则集的多个所述临时防盗参数中的一个或多个最大临时防盗参数和/或一个或多个最小临时防盗参数,将所述当前防盗链规则集剩余的所述临时防盗参数的平均值作为所述当前防盗链规则集的防盗参数。
在上述实施例的基础上,所述盗链模拟模块32根据所述第一请求和所述第二请求确定有效拦截参数包括:所述根据所述第一请求的数量N1和所述第二请求的数量N2确定有效拦截参数H1,且H1=N2/N1;
所述正常访问模拟模块根据所述第三请求和所述第四请求确定误拦截参数包括:所述根据所述第三请求的数量N3和所述第四请求的数量N4确定误拦截参数H2,且H2=N4/N3。
在上述实施例的基础上,还包括更新模块;
在所述防盗链规则选取模块35根据所述防盗参数选取一个所述防盗链规则集作为所述目标网站的有效防盗链规则集之后,所述更新模块用于:
在预设时间段之后,或者在所述目标网站的流量值增长量超过预设数值时,重新确定多个防盗链规则集,并重复上述确定所述目标网站的有效防盗链规则集的过程。
本发明实施例提供的一种防盗链的装置,为目标网站分配当前防盗链规则集之后,通过两个服务器分别模拟盗链行为和正常访问行为,从而可以确定该当前防盗链规则集对盗链行为的拦截能力以及对正常访问行为的误拦可能性,即可以确定有效拦截参数和误拦截参数,进而确定该当前防盗链规则集的防盗参数,从而能够基于防盗参数选出防盗效果最好的防盗链规则集。该装置通过模拟盗链的方式对防盗链规则集进行动态评分,从而能够得到最适合目标网站的防盗链规则,不会固化防盗链规则;基于有效拦截参数和误拦截参数能够更准确地表征防盗链规则集的防盗效果,且针对不同目标网站的实际情况动态调整防盗链规则,不需要人工介入即可实现自动优化。通过定时或流量值较前次执行完成后增长某一值时,再度执行前述操作,从而实现不定时及频繁的检测,可以比人为设置更快的变更防盗链规则,实现动态适应性调整。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,其包含用于执行上述的防盗链的方法的程序,该计算机可执行指令可执行上述任意方法实施例中的方法。
其中,所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
图4示出了本发明的另一个实施例的一种电子设备的结构框图。所述电子设备1100可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对电子设备的具体实现做限定。
该电子设备1100包括至少一个处理器(processor)1110、通信接口(Communications Interface)1120、存储器(memory array)1130和总线1140。其中,处理器1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。
通信接口1120用于与网元通信,其中网元包括例如虚拟机管理中心、共享存储等。
处理器1110用于执行程序。处理器1110可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1130用于可执行的指令。存储器1130可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1130也可以是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。存储器1130存储的指令可被处理器1110执行,以使处理器1110能够执行上述任意方法实施例中的防盗链的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换的实施方式,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。