本发明涉及数据处理技术领域,尤其涉及一种防盗链检测方法、一种防盗链检测装置和一种服务器。
背景技术:
目前,网络中进行防盗链保护时大多使用同步鉴权方式,比如,在多媒体防盗链过程中,客户端通过密钥加密播放参数,发送给服务器,服务器根据加密的播放参数对客户端进行鉴权,当对客户端鉴权失败时,服务器判定该客户端的多媒体播放请求异常,并予以防盗打击。
然而,加密播放参数的加密算法位于客户端中,很容易被盗链方破解,盗链方在破解该加密算法之后,也可以使用该加密算法加密播放参数,顺利通过同步鉴权。此时,只能通过在客户端升级加密播放参数的加密算法来增强同步鉴权的有效性,其消耗的人力成本和时间成本都很高。
另外,同步防盗链鉴权方式仅用于多媒体播放前,一旦盗链方通过了同步防盗链鉴权,在后续的多媒体播放过程就会不再受服务器控制。
因此,如何提供一种更加安全有效的防盗链方式,成为目前亟待解决的技术问题。
技术实现要素:
本发明实施例提供了一种防盗链检测方法、一种防盗链检测装置和一种服务器,旨在解决相关技术中的防盗链方式安全性不足的问题,可以提供一种新的防盗链方式,提升为服务器进行防盗链保护的有效性。
第一方面,本发明实施例提供了一种防盗链检测方法,包括:获取客户端的用户行为数据;通过对非盗链用户的历史行为数据进行大数据训练得到的防盗链模型,对所述用户行为数据进行大数据训练验证;在所述用户行为数据通过所述防盗链模型验证的情况下,确定所述用户行为数据对应的客户端为非盗链用户,在所述用户行为数据未通过所述防盗链模型验证的情况下,确定所述用户行为数据对应的客户端为盗链用户。
在本发明上述实施例中,可选地,在通过对非盗链用户的历史行为数据进行大数据训练得到的防盗链模型,对所述用户行为数据进行大数据训练验证的步骤之前,还包括:获取预定数量的非盗链用户在预定时间间隔内与服务器进行交互过程中的历史行为数据;通过预定分类算法对所述历史行为数据进行大数据训练,以建立所述防盗链模型。
在本发明上述实施例中,可选地,通过对非盗链用户的历史行为数据进行大数据训练得到的防盗链模型,对所述用户行为数据进行大数据训练验证的步骤,具体包括:通过由非盗链用户的历史行为数据训练得到的防盗链模型,对所述用户行为数据中的每次用户特征行为对应的调用对象、所述对象调用频率和所述对象调用顺序进行大数据拟合;当所述每次用户特征行为对应的调用对象、所述对象调用频率和所述对象调用顺序的拟合结果符合预定规则时,确定所述用户行为数据通过所述防盗链模型的验证,否则,确定所述用户行为数据未通过所述防盗链模型的验证。
在本发明上述实施例中,可选地,所述用户特征行为包括多媒体信息查询请求、多媒体播放请求、停止播放请求、播放参数调整请求和广告插入请求中的一项或多项。
在本发明上述实施例中,可选地,还包括:根据来自所述客户端的交互请求,对所述客户端进行同步鉴权,得到同步鉴权结果;根据对所述客户端的所述用户行为数据进行大数据训练验证的结果和所述同步鉴权结果,确定所述客户端是否为盗链用户。
第二方面,本发明实施例提供了一种防盗链检测装置,包括:用户行为数据获取单元,获取客户端的用户行为数据;模型训练验证单元,通过对非盗链用户的历史行为数据进行大数据训练得到的防盗链模型,对所述用户行为数据进行大数据训练验证;确定单元,在所述用户行为数据通过所述防盗链模型验证的情况下,确定所述用户行为数据对应的客户端为非盗链用户,在所述用户行为数据未通过所述防盗链模型验证的情况下,确定所述用户行为数据对应的客户端为盗链用户。
在本发明上述实施例中,可选地,还包括:历史行为数据获取单元,在所述模型训练验证单元对所述用户行为数据进行大数据训练验证之前,获取预定数量的非盗链用户在预定时间间隔内与服务器进行交互过程中的历史行为数据;大数据训练单元,通过预定分类算法对所述历史行为数据进行大数据训练,以建立所述防盗链模型。
在本发明上述实施例中,可选地,所述模型训练验证单元具体用于:通过由非盗链用户的历史行为数据训练得到的防盗链模型,对所述用户行为数据中的每次用户特征行为对应的调用对象、所述对象调用频率和所述对象调用顺序进行大数据拟合,其中,当所述每次用户特征行为对应的调用对象、所述对象调用频率和所述对象调用顺序的拟合结果符合预定规则时,确定所述用户行为数据通过所述防盗链模型的验证,否则,确定所述用户行为数据未通过所述防盗链模型的验证。
在本发明上述实施例中,可选地,所述用户特征行为包括多媒体信息查询请求、多媒体播放请求、停止播放请求、播放参数调整请求和广告插入请求中的一项或多项。
在本发明上述实施例中,可选地,还包括:同步鉴权单元,根据来自所述客户端的交互请求,对所述客户端进行同步鉴权,得到同步鉴权结果;联合验证单元,根据对所述客户端的所述用户行为数据进行大数据训练验证的结果和所述同步鉴权结果,确定所述客户端是否为盗链用户。
第三方面,本发明实施例提供了一种服务器,包括上述第二方面实施例中任一项所述的防盗链检测装置。
以上技术方案提供了一种新的防盗链方式,可通过验证客户端的用户行为数据是否能够被预定的防盗链模型拟合,来确定客户端是否为盗链用户,而预定的防盗链模型则是以非盗链用户的历史行为数据作为样本进行大数据训练得到的。
其中,防盗链模型的形成和使用均在服务器端进行,从而可以避免盗链方从客户端破解防盗链鉴权的相关信息。由于非盗链用户的历史行为数据多种多样,以其进行大数据训练得到的防盗链模型,也比相关技术中的同步鉴权使用的加密算法更加复杂,难以被盗链方破解,加大了盗链成本,降低了盗链的可能性。同时,由于防盗链模型是以非盗链用户的实际历史行为数据为基础训练得到,使用防盗链模型进行鉴权比相关技术中的加密算法固定的同步鉴权具有更高的准确性,能够减少对非盗链用户的误伤和对盗链用户的漏检。
接着,如果客户端的用户行为数据能够被预定的防盗链模型拟合,说明该用户行为数据为与非盗链用户的历史行为数据相关联的参数,故可以认定该用户行为数据对应的客户端为非盗链用户,反之,如果客户端的用户行为数据不能被预定的防盗链模型拟合,则说明该用户行为数据与非盗链用户的历史行为数据不相关,此时,可确定该用户行为数据对应的客户端为盗链用户,以便进一步对其进行防盗链打击。
由于客户端的用户行为数据产生于客户端与服务器进行交互的整个过程中,故通过对客户端的用户行为数据进行防盗链模型验证,可以对客户端与服务器的整个交互过程都进行防盗链保护,增大了防盗链保护的应用范围,进一步减少了防盗链方式被盗链方破解的风险,提升了防盗链保护的全面性和有效性。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1示出了本发明的一个实施例的防盗链检测方法的流程图;
图2示出了图1示出的实施例中的建立防盗链模型的流程图;
图3示出了本发明的另一个实施例的防盗链检测方法的流程图;
图4示出了本发明的再一个实施例的防盗链检测方法的流程图;
图5示出了本发明的一个实施例的防盗链检测装置的框图;
图6示出了本发明的一个实施例的防盗链检测装置的整体架构示意图;
图7示出了本发明的一个实施例的服务器的框图;
图8示出了本发明的另一个实施例的服务器的框图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
实施例一
图1示出了本发明的一个实施例的防盗链检测方法的流程图。
如图1所示,本发明的一个实施例中提供的模型生成方法,包括:
步骤102,获取客户端的用户行为数据。
其中,用户行为数据为客户端在向服务器进行交互行为的过程中所产生的数据,包括但不限于客户端请求调用的模块、模块调用顺序和模块调用频率等,因此,用户行为数据实际上为客服端与服务器进行交互的行为轨迹,包含大量有顺序且不同维度的数据,通过对客户端的行为轨迹进行综合验证,能够使防盗链检验更为全面。
进一步地,所获取客户端的用户行为数据可以为客户端在预定时间间隔内的所有交互行为或某一类交互行为所产生的数据,交互行为可包括但不限于多媒体播放请求、游戏操作请求、网页编辑请求等,该预定时间间隔可以在服务器端进行设置,如可设置每十分钟获取一次客户端的用户行为数据,以便对该客户端进行防盗链检验。
步骤104,通过对非盗链用户的历史行为数据进行大数据训练得到的防盗链模型,对用户行为数据进行大数据训练验证。
防盗链模型的形成和使用均在服务器端进行,从而可以避免盗链方从客户端破解防盗链鉴权的相关信息。由于非盗链用户的历史行为数据多种多样,以其进行大数据训练得到的防盗链模型,也比相关技术中的同步鉴权使用的加密算法更加复杂,难以被盗链方破解,加大了盗链成本,降低了盗链的可能性。同时,由于防盗链模型是以非盗链用户的实际历史行为数据为基础训练得到,使用防盗链模型进行鉴权比相关技术中的加密算法固定的同步鉴权具有更高的准确性,能够减少对非盗链用户的误伤和对盗链用户的漏检。
需要知晓,在大多数情况下,服务器是在大量非盗链用户所产生的实际历史行为数据中选择样本数据,并通过样本数据进行大数据训练得到防盗链模型的,并通过该防盗链模型可以对多个客户端同时进行高效的防盗链保护。
步骤106,在用户行为数据通过防盗链模型验证的情况下,确定用户行为数据对应的客户端为非盗链用户,在用户行为数据未通过防盗链模型验证的情况下,确定用户行为数据对应的客户端为盗链用户。
也就是说,如果客户端的用户行为数据能够被预定的防盗链模型拟合,说明该用户行为数据为与非盗链用户的历史行为数据相关联的参数,故可以认定该用户行为数据对应的客户端为非盗链用户,反之,如果客户端的用户行为数据不能被预定的防盗链模型拟合,则说明该用户行为数据与非盗链用户的历史行为数据不相关,此时,可确定该用户行为数据对应的客户端为盗链用户,以便进一步对其进行防盗链打击。
其中,对于确定的盗链用户,可根据其用户行为数据与非盗链用户的历史行为数据不相关程度,为其选择对应的防盗链打击策略,防盗链打击策略包括但不限于终止交互服务、保存盗链用户的信息、将盗链用户的信息上传至网络等。
由于客户端的用户行为数据产生于客户端与服务器进行交互的整个过程中,故通过对客户端的用户行为数据进行防盗链模型验证,可以对客户端与服务器的整个交互过程都进行防盗链保护,增大了防盗链保护的应用范围,进一步减少了防盗链方式被盗链方破解的风险,提升了防盗链保护的全面性和有效性。
图2示出了图1示出的实施例中的建立防盗链模型的流程图。
如图2所示,建立防盗链模型的步骤具体包括:
步骤202,获取预定数量的非盗链用户在预定时间间隔内与服务器进行交互过程中的历史行为数据。
如果服务器服务的用户数量较少,比如,用户数量为1000时,可以直接将全部用户的历史行为数据作为防盗链保护的依据。然而,在大部分情况下,服务器所服务的用户数量是巨大的,比如,社交软件的用户往往数以千万计,因此,可以只获取预定数量的非盗链用户的历史行为数据作为样本数据,以进行大数据训练,该预定数量可以根据实际需要,在服务器端进行设置。
比如,对于具有一千万用户的视频软件的服务器,由于用户行为的类型和顺序多种多样,故可以根据用户年龄分布情况,选取十万的用户作为样本,以保证样本具有足够的代表性。而对于具有一千万用户的简单益智游戏软件的服务器,由于用户行为的类型和顺序单一,故随机选取一万的用户就足以作为有代表性的样本。
同样,预定时间间隔也可以在服务器端根据实际需要进行设置,如设置为一分钟或一小时。
步骤204,通过预定分类算法对历史行为数据进行大数据训练,以建立防盗链模型。
其中,预定分类算法可以采用现有成熟的机器学习分类算法,包括但不限于:逻辑回归(logisticregression)、决策树分类器(decisiontreeclassfier)、支持向量机分类器(supportvectormachine)、朴素贝叶斯(naivebayes)、k-近邻算法(knearestneighbor)、因子分解机(factorizationmachine)、神经网络分类器(nerualnetworkclassifier)和深度学习(deeplearning)或由上述算法中的至少两项组合起来的ensemble组合算法(如随机森林等)。当然,也可以根据实际需求,自行设置能够具有分类性质的训练算法。
在采用至少两项组合起来的ensemble组合算法时,可以获得更加准确有效的防盗链模型,具体可以采用每种训练算法训练得到一种结果,接着,可以根据预设规则在得到的多种结果中选择符合预设规则的目标结果。例如,该预设规则可以为:通过多次试验,比较多种结果的防盗链验证准确性,选取防盗链验证准确性最高的结果作为目标结果。当然,预设规则不限于上述形式。
步骤204的一种可行的具体实现方式中,其相应实现流程包括:
使用预定分类算法对样本中用户行为数据中的每次用户特征行为对应的调用对象、对象调用频率和对象调用顺序进行大数据拟合,也就是说,基于样本中客户端请求调用的模块、模块调用顺序和模块调用频率进行机器学习,得到样本的最大似然值,则使用样本的最大似然值表示的防盗链模型如下:
其中,xi表示第i个样本的客户端的用户行为数据,f(β)表示训练的模型参数,yi表示第i个样本的标记,样本的标记表示该样本是否为非盗链用户,yi=1则表示第i个样本为盗链用户,yi=0则表示第i个样本为非盗链用户,p是概率密度分布函数。
由上式可以最大程度上拟合样本的分布,形成防盗链模型,从而在使用防盗链模型进行防盗链检验的过程中,对客户端的用户行为数据进行拟合,从而确定该客户端的用户行为数据是否为与非盗链用户的用户行为数据相关联的参数组合。
需要补充的是,随着非盗链用户的行为数据的增加和改变,防盗链模型可以随之更新,比如,可以每隔预定时间间隔,如一周,选取非盗链用户在这一周内的部分行为数据与这一周前的历史行为数据作为样本进行大数据训练,归根结底,就是随着建立防盗链模型所使用的样本的更新来及时更新防盗链模型,使得使防盗链模型最大限度地拟合非盗链用户的数据,提升防盗链模型的全面性和有效性。
实施例二
如图3所示,在前述实施例一的基础上,提供了一种更为具体的通过防盗链模型进行防盗链验证的方法,使用防盗链模型对客户端的多个维度的用户行为数据进行拟合,增加了防盗链验证的依据的可靠性,进一步提升了防盗链保护的效果。该方法具体包括:
步骤302,获取客户端的用户行为数据。
步骤304,通过由非盗链用户的历史行为数据训练得到的防盗链模型,对获取的用户行为数据中的每次用户特征行为对应的调用对象、对象调用频率和对象调用顺序进行大数据拟合。
用户特征行为包括客户端在与服务器进行交互过程中的各种类型的请求,比如,在多媒体播放过程中的用户特征行为包括但不限于多媒体信息查询请求、多媒体播放请求、停止播放请求、播放参数调整请求和广告插入请求中的一项或多项,则每种用户特征行为所请求调用的模块、模块调用顺序和模块调用频率等组成了用户行为数据。因此,使用上述大量、有顺序且不同维度的数据作为对客户端进行拟合的样本,可使防盗链验证更加全面,增加防盗链验证的准确性,避免漏检或误检。
步骤306,判断拟合结果是否符合预定规则,当判断结果为拟合结果符合预定规则时,进入步骤308,当判断结果为拟合结果不符合预定规则时,进入步骤310。
使用上述实施例一提供的方式建立防盗链模型的话,可将预定规则设置为最大似然值大于或等于预定数值,这个预定数值即为在客户端为非盗链用户的情况下其用户行为数据与防盗链模型的最小的最大似然值。
步骤308,确定用户行为数据通过防盗链模型的验证,该客户端为非盗链用户。
步骤310,确定用户行为数据未通过防盗链模型的验证,该客户端为盗链用户。
也就是说,只有当客户端的用户行为数据与防盗链模型的拟合程度达到预定数值时,才认为拟合程度满足非盗链用户应有的拟合水准,此时,即可将客户端确定为非盗链用户,否则,将客户端确定为盗链用户。
实施例三
如图4所示,在前述实施例一和二的基础上,提供了一种联合防盗链验证方法,对客户端既进行同步鉴权也进行与防盗链模型拟合验证,为防盗链保护提供了双重保障,提升了防盗链检验的准确性。该方法具体包括:
步骤402,根据来自客户端的交互请求,对客户端进行同步鉴权,得到同步鉴权结果。
步骤404,根据防盗链模型对客户端的用户行为数据进行大数据训练验证,得到模型验证结果。
为了进一步提升防盗链验证的准确性,可以既使用防盗链模型对客户端的用户行为数据进行拟合验证,也对客户端进行同步鉴权,分别得到对应的结果。上述两个步骤的顺序可以为先进行同步鉴权再进行防盗链模型拟合验证,也可以为先进行防盗链模型拟合验证再进行同步鉴权,还可以将两种防盗链方式同时进行。
步骤406,根据模型验证结果和同步鉴权结果,确定客户端是否为盗链用户。
步骤406的一种具体实现方式为:
首先,对客户端进行同步鉴权。
如果客户端不能通过同步鉴权,可直接判定客户端为盗链用户,结束防盗链验证进程;而如果客户端通过了同步鉴权,再进行防盗链模型拟合验证。
接着,如果客户端未通过防盗链模型拟合验证,说明同步鉴权的加密算法很可能已被盗链方破解,此时,可判定客户端为盗链用户;而如果客户端通过了防盗链模型拟合验证,说明客户端的用户行为数据能够被防盗链模型拟合,是与非盗链用户的历史行为数据相关联的参数组合,因此,判定客户端为非盗链用户。
也就是说,只有满足模型验证结果为客户端通过验证,且同步鉴权结果为客户端通过同步鉴权的条件时,才确定客户端为非盗链用户。
但是,同步鉴权的有效性低于防盗链模型拟合验证,容易将非盗链用户误判为盗链用户,因此,提供了步骤406的另一种具体实现方式为:
同时进行同步鉴权和防盗链模型拟合验证,得到模型验证结果和同步鉴权结果,其中,模型验证结果为1时,表明客户端通过防盗链模型拟合验证,模型验证结果为0时,表明客户端未通过防盗链模型拟合验证,同步鉴权结果为1时,表明客户端通过同步鉴权,同步鉴权结果为0时,表明客户端未通过同步鉴权。
接着,将模型验证结果和同步鉴权结果分别与对应的权重相乘,再将得到的两个乘积相加,得到目标结果。其中,模型验证结果和同步鉴权结果对应的权重值可以由服务器根据历史防盗链结果的准确率自动设置,也可以人为地在服务器端进行设置,比如,设置模型验证结果的权重为0.55,设置同步鉴权结果的权重为0.45,两者的权重和为1,且模型验证结果的权重需大于同步鉴权结果的权重。
最后,检测目标结果是否达到预定阈值,该预定阈值为将客户端确定为非盗链用户所需的最低阈值,则如果目标结果达到预定阈值,将客户端确定为非盗链用户,如果目标结果未达到预定阈值,将客户端确定为盗链用户。
另外,该预定阈值也可以由服务器根据历史防盗链结果的准确率自动设置,也可以人为地在服务器端进行设置。比如,若设置模型验证结果的权重为0.55,设置同步鉴权结果的权重为0.45,则可以将预定阈值设置为0.6,由此:
当模型验证结果和同步鉴权结果均为1时,计算得到目标结果为1,超过了预定阈值0.6,故可判定客户端为非盗链用户。
当模型验证结果和同步鉴权结果均为0时,计算得到目标结果为0,未达到预定阈值0.6,故可判定客户端为盗链用户。
当模型验证结果为1、同步鉴权结果为0时,计算得到目标结果为0.55,未达到预定阈值0.6,故可判定客户端为盗链用户。
当模型验证结果为0、同步鉴权结果为1时,计算得到目标结果为0.45,未达到预定阈值0.6,故可判定客户端为盗链用户。
再比如,若设置模型验证结果的权重为0.65,设置同步鉴权结果的权重为0.35,设置预定阈值为0.61,由此:
当模型验证结果和同步鉴权结果均为1时,计算得到目标结果为1,超过了预定阈值0.6,故可判定客户端为非盗链用户。
当模型验证结果和同步鉴权结果均为0时,计算得到目标结果为0,未达到预定阈值0.61,故可判定客户端为盗链用户。
当模型验证结果为1、同步鉴权结果为0时,计算得到目标结果为0.65,达到预定阈值0.61,故可判定客户端为非盗链用户。
当模型验证结果为0、同步鉴权结果为1时,计算得到目标结果为0.35,未达到预定阈值0.61,故可判定客户端为盗链用户。
当然,上述的两种方式仅为本发明技术方案的一种实施方式,本发明的技术方案并不限于此种实施方式。
实施例四
图5示出了本发明的一个实施例的防盗链检测装置的框图。
如图5所示,本发明的一个实施例的防盗链检测装置500,包括:用户行为数据获取单元502、模型训练验证单元504和确定单元506。
用户行为数据获取单元502用于获取客户端的用户行为数据。
模型训练验证单元504用于通过对非盗链用户的历史行为数据进行大数据训练得到的防盗链模型,对用户行为数据进行大数据训练验证。
确定单元506用于在用户行为数据通过防盗链模型验证的情况下,确定用户行为数据对应的客户端为非盗链用户,在用户行为数据未通过防盗链模型验证的情况下,确定用户行为数据对应的客户端为盗链用户。
在本发明上述实施例中,可选地,防盗链检测装置500还包括历史行为数据获取单元508和大数据训练单元510。
历史行为数据获取单元508用于在模型训练验证单元504对用户行为数据进行大数据训练验证之前,获取预定数量的非盗链用户在预定时间间隔内与服务器进行交互过程中的历史行为数据。
大数据训练单元510用于通过预定分类算法对历史行为数据进行大数据训练,以建立防盗链模型。
在本发明上述实施例中,可选地,模型训练验证单元504具体用于:通过由非盗链用户的历史行为数据训练得到的防盗链模型,对用户行为数据中的每次用户特征行为对应的调用对象、对象调用频率和对象调用顺序进行大数据拟合,其中,当每次用户特征行为对应的调用对象、对象调用频率和对象调用顺序的拟合结果符合预定规则时,确定用户行为数据通过防盗链模型的验证,否则,确定用户行为数据未通过防盗链模型的验证。
其中,用户特征行为包括多媒体信息查询请求、多媒体播放请求、停止播放请求、播放参数调整请求和广告插入请求中的一项或多项。
需要补充的是,在本发明上述实施例中,可选地,防盗链检测装置500还包括同步鉴权单元512和联合验证单元514。
同步鉴权单元512用于根据来自客户端的交互请求,对客户端进行同步鉴权,得到同步鉴权结果。
联合验证单元514用于根据对客户端的用户行为数据进行大数据训练验证的结果和同步鉴权结果,确定客户端是否为盗链用户。
防盗链检测装置500使用上述实施例一至三中任一方案的防盗链检测方法,因此,防盗链检测装置500具有实施例一至三的全部技术效果,在此不再赘述。
实施例五
本发明实施例的防盗链检测装置可适用于客户端的视频播放场景,也可用于对音频、文本、图片等各种文件的访问场景。如图6所示,在多媒体播放的各个阶段,客户端都会有用户行为数据上传到服务器,以方便服务器进行问题定位和统计等,故在训练防盗链模型的过程中,可采集客户端的这些用户行为数据,这些用户行为数据包括但不限于广告行为(如在视频播放过程中插播广告)和质量行为(如选择视频文件的分辨率)产生的数据,还可以包括打开、暂停、关闭等其他用户行为产生的数据。
服务器根据非盗链客户端集合中各客户端的历史行为数据,可以确定各客户端的特征行为,从而将这些特征行为作为样本数据进行模型训练,得到防盗链模型。
对待验证客户端进行防盗链验证的过程中,可以进行同步鉴权,具体来说,客户端在多媒体播放前会加密一些数据发送到服务器,由服务器对加密数据进行鉴权,在服务器鉴权通过之后,待验证客户端才能从服务器获得多媒体资源。
接着,待验证客户端在播放多媒体资源时,服务器通过预先生成的防盗链模型,对待验证客户端播放多媒体资源过程中产生的用户行为数据进行拟合,当拟合结果符合预定策略时,判定待验证客户端为非盗链用户,服务器可向待验证客户端提供其所请求的数据。而当拟合结果不符合预定策略时,判定待验证客户端为盗链用户,服务器对其施行盗链打击策略。
实施例六
图7示出了本发明的一个实施例的服务器的框图。
如图7所示,本发明的一个实施例的服务器700,包括图5的实施例中示出的防盗链检测装置500,防盗链检测装置500可以外设于服务器或设置在服务器中。
因此,该服务器700具有和图5的实施例中示出的防盗链检测装置500相同的技术效果,在此不再赘述。
实施例七
图8示出了本发明的另一个实施例的服务器的框图。
如图8所示,服务器800可包括与一个或多个数据存储工具连接的处理器802,该数据存储工具可以包括存储介质804和内存单元806。服务器800还可以包括输入接口808和输出接口810,用于与另一装置或系统进行通信。被处理器802的cpu8022执行的程序代码可存储在存储介质804或内存单元806中。
服务器800中的处理器802调用存储在存储介质804或内存单元806的程序代码,可执行下面各步骤:
获取客户端的用户行为数据;
通过对非盗链用户的历史行为数据进行大数据训练得到的防盗链模型,对所述用户行为数据进行大数据训练验证;
在所述用户行为数据通过所述防盗链模型验证的情况下,确定所述用户行为数据对应的客户端为非盗链用户,在所述用户行为数据未通过所述防盗链模型验证的情况下,确定所述用户行为数据对应的客户端为盗链用户。
在一个具体的实现方案中,处理器802还可执行:
在通过对非盗链用户的历史行为数据进行大数据训练得到的防盗链模型,对所述用户行为数据进行大数据训练验证的步骤之前,获取预定数量的非盗链用户在预定时间间隔内与服务器进行交互过程中的历史行为数据;通过预定分类算法对所述历史行为数据进行大数据训练,以建立所述防盗链模型。
在一个具体的实现方案中,处理器802用于执行:
通过由非盗链用户的历史行为数据训练得到的防盗链模型,对所述用户行为数据中的每次用户特征行为对应的调用对象、所述对象调用频率和所述对象调用顺序进行大数据拟合;
当所述每次用户特征行为对应的调用对象、所述对象调用频率和所述对象调用顺序的拟合结果符合预定规则时,确定所述用户行为数据通过所述防盗链模型的验证,否则,确定所述用户行为数据未通过所述防盗链模型的验证。
在一个具体的实现方案中,处理器802还可执行:
根据来自所述客户端的交互请求,对所述客户端进行同步鉴权,得到同步鉴权结果;
根据对所述客户端的所述用户行为数据进行大数据训练验证的结果和所述同步鉴权结果,确定所述客户端是否为盗链用户。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,能够降低防盗链方式被盗链方破解的风险,进一步提升了防盗链保护的全面性和有效性。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。