防盗链
时间:2020-12-07一. 功能简介
视频被盗用是极其常见的,很多会通过视频盗链、下载盗链等盗链行为进行非法盗取视频内容,不仅使网站的版权受到侵害,还会导致用户群体流失,造成整体收益降低,同时也会额外增加带宽成本和服务器运维成本,更甚者将入不敷出,因此,防盗链是视频和下载网站亟需解决的问题之一。蔚可云提供了一系列防盗链功能,包括基础防盗链,高级防盗链,回源鉴权防盗链以及中心认证防盗链技术,通过一定规则识别出盗链请求,并拒绝提供服务,从而防止盗链,有效帮助客户节省带宽和服务器运维成本。
二. 使用说明
1.基础防盗链(1)用户向CDN节点发起请求。
(2)CDN节点判断用户信息(如IP、Referer、User-Agent、Cookie,等)是否满足配置要求,如不满足则拒绝;如满足且本地有缓存则直接响应,本地无缓存则回源获取相应资源。
(3)源站响应CDN节点的请求。
(4)CDN节点响应客户端的请求,并将资源缓存到本地。
2.高级防盗链
(1)用户向客户的内容管理服务器请求文件URL。客户端本地生成高级防盗链URL。
(2)客户的内容管理服务器根据约定的规则生成高级防盗链URL并响应给用户。如:
http://ws.a.com/test.mp4?wsSecret=c82151660097f7c341d6df8b037e82c7&wsTime=201710111042
(3)用户使用获取到的文件URL向CDN节点发起请求。
(4)CDN节点进行高级防盗链验证:判断URL是否过期(支持绝对时间和相对时间两种方式),若过期则拒绝,若未过期则根据约定规则计算出MD5值并进行对比,若不匹配则拒绝,若匹配则提供服务。当CDN节点无缓存时,回源获取资源。
(5)源站将资源响应给CDN节点。
(6)CDN节点将资源响应给用户,同时缓存到本地。
3.回源鉴权防盗链
回源鉴权分为同步鉴权和异步鉴权两种方式。
同步鉴权的特点是CDN节点在处理每个接收到的请求之前,都要先将相关的请求信息发回源站进行鉴权,根据源站响应的鉴权结果,决定是否提供服务,适用于对防盗链要求比较严格的场景。异步鉴权则是指CDN节点收到用户请求时,优先响应内容,同时将相关的请求信息发回源站进行鉴权,若鉴权通过则继续响应内容,否则断开连接停止响应,适用于对用户体验更为关注的场景。
以下以同步鉴权为例进行详细说明。
请求和鉴权使用不同的URL
4.中心认证防盗链
中心认证防盗链方案从业务、参数和算法等维度给了客户很大的灵活性,基于不同维度(如:基于IP、URL、请求头、甚至客户自定义的任意参数)提供防盗方案,可控维度多,算法丰富,可扩展性强。既可以帮助客户更智能地实时发现盗链URL,又可以帮助客户发现盗链用户并自动进行屏蔽。
鉴于CDN节点发送请求回认证中心的鉴权过程存在一定的时间消耗,为了不影响用户的体验,其支持同步鉴权和异步鉴权2种方式。
(1)用户向CDN节点发起文件url请求;
(2)当CDN节点验证防盗链成功时(该步骤可选,这里的防盗链包括基础防盗链以及时间戳防盗链,即通过边缘节点先进行初步的校验),则将请求转发给认证中心;若校验失败,则拒绝提供服务;
(3)认证中心根据事先约定的规则,对请求的合法性进行校验,并响应鉴权结果给CDN节点;
(4)若认证通过,CDN节点响应文件给用户;若认证失败,则CDN节点拒绝提供服务。
与同步鉴权流程相比,异步鉴权的差异在第2步:
CDN节点先进行防盗链校验,若校验成功,则先响应内容给用户,同时将请求转发给认证中心进行鉴权;若校验失败,则拒绝提供服务。
同步和异步鉴权场景对比说明
三.应用场景
本页目录