随着版权收费、会员制度越来越普遍,如何做到视频内容保护、防止盗链成为各视频网站必须重视的问题。A视频网站斥巨资购买了某影视剧的网络独家版权,并限制为付费会员可观看,但B网站在未经授权的情况下,偷偷使用A网站的视频资源放置在自己的网站上,网民在B网站可以随意的观看A网站的付费视频。这对A网站造成了很大的损失,那A网站应如何避免这种情况?
在现有CDN视频服务能力基础上,为了保障业务的安全性,防止内容被盗用,蓝汛提供明确的防盗机制,服务商在提供给终端的播放URL中需携带安全校验的防盗链字符串序列,蓝汛将根据约定的规则对内容播放请求的合法性进行校验,以此来保证合法用户的合法请求。
业务架构
合法终端用户通过指定的URL向蓝汛请求资源,蓝汛缓存节点解析并分析请求URL中的防盗链参数并获取时间戳、时间校验级别、MD5等参数;符合约定的规则正常提供业务并响应服务终端用户;
非法终端用户请求资源,不符合约定的规则直接返回403;
CDN与客户源站之间为了保证回源安全性,可通过特殊回源规则重新封装方式、referer防盗链方式或客户源站以白名单的方式来保证蓝汛上层节点的正常安全可靠回源请求。
防盗链校验策略是保证请求合法性、内容安全性的核心机制。
蓝汛视频防盗链策略:时间戳+约定MD5校验规则
区别于不同的业务特点,直播防盗链超时时间可设为24小时,点播防盗链超时时间可设为10分钟(具体过期时间可根据业务要求灵活配置)。
防盗链传输携带方式以URL参数的形式提供。
防盗链生成规则如下:
根据现有机制获取播放URL:http://域名/path?param
根据策略替换成蓝汛CDN加速域名:http://cdn_domain/path?param
增加CDN防盗链参数:
http://cdn_domain/path?param&ccsecret=SECRET
其中SECRET为:
secretlevelUnixtime:MD5(path&secretlevel&Unixtime&key)
参数说明:
path:URL路径,不含?后参数
secretlevel:时间校验级别,a点播/b直播过期时间(可扩展其它视频校验级别)
Unixtime:Unix时间戳,URL生成基准时间,从1970年1月1日开始所经过的秒数
key:双方协商关键字,可定期同步更换
校验样例
蓝汛CDN收到播放流请求:
http://vod.ccgslb.cn/88888905/16/20190213/272618350/272618350.mp4?servicetype=0&ccsecret=a1550030400:fba9575192972dcbd7762874780b0b22
解析后获得信息:
Path:/88888905/16/20190213/272618350/272618350.mp4
secretlevel:a,点播过期时间10分钟(可配置)
Unixtime:1550030400,生成URL时间为2019-02-13 12:00:00,如当前请求播放时间超过此时间10分钟,直接返回403
MD5值:fba9575192972dcbd7762874780b0b22
从配置文件中获取KEY值为ccvod2019
按照约定规则计算SECRET的MD5值信息:SECRET=secretlevelUnixtime:MD5(path&secretlevel&Unixtime&KEY)=a1550030400:MD5
(/88888905/16/20190213/272618350/272618350.mp4&a&1550030400&ccvod2019)=a1550030400: fba9575192972dcbd7762874780b0b22
此时可进行时间戳防盗链逻辑校验以及约定规则的MD5值比对校验
最后,让我们再来一起梳理下详细的防盗链方案的业务流程:
内容付费时代来临,视频网站防盗链不容忽视,为客户提供优质服务的同时更要避免自身损失。
蓝汛ChinaCache结合多年服务经验,已为多家视频网站提供视频防盗链方案,此外基于客户业务特殊要求也可支持各种定制化防盗链策略。