文档反馈
文档反馈

防盗链功能使用说明

1 功能简介

防盗链是指在点播视频播放地址中通过添加鉴权字符串的方式,来校验地址合法性的一种防止视频被盗播的方式。开通防盗链功能后,视频播放地址中需要包含一段鉴权字符串,只有合法生成的鉴权串,才可以通过校验从而播放,且该地址有时效性,只在设定的有效期内可播放。这样即使别人获取到已失效的地址,也是无法继续使用的,防止别人盗播视频。如果已经使用有效的地址正在播放,不会因为地址超时失效而受影响。

2 功能原理

这里防盗链是利用URL鉴权来实现的,该功能是通过云信CDN加速节点与用户资源站点配合实现:

3 具体步骤

主要步骤如下所示:

第一步:开通功能

用户可联系网易云信确认开通防盗链功能。

第二步:设置防盗链加密凭证

用户可以通过云信管理控制台设置生成防盗链URL中鉴权串的加密Key。加密Key分为主Key和备Key,两个Key具有同样的效力,主要用于解决Key替换时的平滑过渡。如下图所示:

第三步:设置防盗链有效期

用户可以通过云信管理控制台设置防盗链URL鉴权串有效期,默认为120分钟。

第四步:生成播放地址

当前版本服务中,用户通过管理控制台或者服务端API获取到的视频地址默认会带着鉴权字符串,即获取到的就是完整的可播放地址,有效期取决于用户的设置。用户也可以以下鉴权方法进行拼接,参见下文。

4 鉴权方法

4.1 防盗链URL构成

点播防盗链URL由资源地址加上鉴权字符串构成:

http://domainName/bucketName/objectKey?wsSecret=XXXXXX&wsTime=XXXXXX

其中,wsTime是生成校验字符串时的时间戳(单位秒),wsSecret是根据一定规则生成的加密字符串,见下文。

4.2 鉴权字符串生成

校验字符串wsSecret计算规则如下:

wsSecret=encoderByMd5With32Bit(secretKey + "/" + bucketName + "/" + objectKey + wsTime)

其中,secretKey是用户在本文第3节第二步设置的加密秘钥,bucketName和objectKey唯一标识了用户的某一视频资源,加密算法是32位md5算法。

举例说明,假设用户某视频资源的原始地址是:

http://vodk32ywxdf.vod.126.net/vodk32ywxdf/da9644d1-2dc5-40e3-9fbb-2b40d4267518.mp4

用户设置的防盗链加密秘钥secretKey是"mySecretKey",生成校验字符串的时间戳是1556279147,那么按照上述规则计算生成的校验字符串wsSecret为:

wsSecret=encoderByMd5With32Bit(mySecretKey/vodk32ywxdf/da9644d1-2dc5-40e3-9fbb-2b40d4267518.mp41556279147)

4.3 鉴权方法

CDN边缘节点收到播放请求时做如下校验:

4.4 替换加密凭证

主Key和备Key拥有同样的效力,备Key主要是用来做Key的平滑更换,若主Key需要更换,更新后所有使用主Key生成的播放地址会立即失效,这时用备Key可以继续替代主Key提供服务。

×

反馈成功

非常感谢您的反馈,我们会继续努力做得更好。