文档首页/ 视频点播 VOD/ 最佳实践/ 通过防盗链控制音视频的播放权限
更新时间:2025-03-27 GMT+08:00
分享

通过防盗链控制音视频的播放权限

场景说明

为对分发的音视频进行播放权限控制,点播服务提供了防盗链功能。开启后,CDN会对所有播放请求中携带的关键信息进行校验,仅校验通过的请求会予以响应,其它非法的访问将直接返回403。防盗链方案中包含Referer防盗链和Key防盗链。

Referer防盗链是基于HTTP协议支持的Referer机制实现的,通过播放请求中携带的Referer字段识别请求来源。配置黑名单或白名单,CDN将根据名单对请求来源进行过滤,从而达到最基本的访问控制的目的。Referer防盗链具有配置便捷,无需额外开发,快速生效等优势,适用于音视频主要在web端引用的场景。

由于HTTP Header的内容可伪造,Referer防盗链只能达到最基本的保护,安全性不高。所以还可以采用Key防盗链方案,通过鉴权播放URL保障点播资源的安全。由于鉴权的Key值具有时效性,所以适用于对媒资安全要求比较高的场景。

本示例中,开启Referer防盗链,只允许白名单中的域名访问视频文件,然后通过Key防盗链生成鉴权播放地址。

实现原理

Referer防盗链的实现原理比较简单,在点播控制台配置了白名单或黑名单后,点播服务会将这份名单分发到CDN中。当CDN接收到资源请求时,会根据这个名单来识别请求是否合法,若合法,则访问请求的资源,否则拒绝并返回403。

Key防盗链是视频点播的加速节点与点播源站联合实现的,比Referer防盗链更为安全可靠的一种防盗播方案。Key防盗链的实现过程如图1所示。

图1 Key防盗链实现原理

流程说明如下所示:

  1. 租户在点播控制台开启Key防盗链功能,并配置误差允许时间、算法等。
  2. 点播服务将配置的密钥值等下发到CDN节点中。
  3. 租户通过点播服务获取到点播媒资的鉴权URL。
  4. 观众通过租户提供的鉴权播放URL向CDN请求视频播放。
  5. CDN根据播放URL中携带的鉴权信息校验请求的合法性,仅校验通过的请求会被允许。

配置Referer防盗链

先配置Referer防盗链,限制请求来源,使点播资源得到最基本的安全保障。

当前Referer防盗链配置不支持带端口。

  1. 登录视频点播控制台
  2. 在左侧导航栏中,选择“域名管理”,进入域名管理界面。
  3. 单击域名右侧“配置”,选择“防盗链配置”页签,如图2所示。

    图2 防盗链配置

  4. 单击“Referer防盗链”右侧的“编辑”,弹出“Referer防盗链”对话框,如图1 Referer防盗链配置信息所示。

    配置Referer防盗链参数,如表1所示。
    图3 Referer防盗链配置
    表1 参数说明

    参数

    说明

    开关

    是否开启Referer防盗链,默认开启。

    类型

    支持黑名单和白名单模式。

    • Referer黑名单:表示黑名单内的域名不允许访问点播资源,其它可以访问。若同时勾选了“包含空Referer”,则表示不允许HTTP Header中Referer为空的请求。
    • Referer白名单:表示白名单内的域名允许访问点播资源,其它不可以访问。若同时勾选了“包含空Referer”,则表示允许HTTP Header中Referer为空的请求。

    规则

    黑名单或白名单中的域名。

    支持输入域名或IP地址,以英文“;”进行分隔,域名、IP地址可混合输入,支持泛域名添加。输入的域名、IP地址总数不能超过100个。

    示例如下:

    www.example.com;*.test.com;192.168.0.0

  5. 配置完成后,单击“确定”

    大约需要3-5分钟,Referer防盗链才生效。

配置Key防盗链

为点播资源配置Key防盗链,通过鉴权URL的时效性来进一步加强点播资源的安全。

  1. 登录视频点播控制台
  2. 在左侧导航栏中,选择“域名管理”,进入域名管理界面。
  3. 单击域名右侧“配置”,选择“防盗链配置”页签,如图4所示。

    图4 防盗链配置

  4. 单击“Key防盗链”右侧的“编辑”,弹出“Key防盗链”对话框,如图5所示。

    开启防盗链开关后的参数说明如表2所示。
    图5 配置Key防盗链
    表2 参数说明

    参数

    描述说明

    密钥值

    即Key值,单击“生成”,可自动生成符合格式的密钥值。

    误差允许时间

    表示当前防盗链有效时间,默认为120分钟。

    示例:若鉴权URL生成时间为1573806090(2019/11/15 16:21:30),配置的“误差允许时间”为120分钟,则鉴权URL的失效时间为2019/11/15 18:21:30。

    旧key的失效时间

    采用新Key时,旧Key值的失效时间,从新Key生效时开始计算,默认60分钟后失效。

    示例:若新Key生效时间为2019/11/15 16:21:30,配置的“旧Key的失效时间”为60分钟,则旧鉴权URL的真正失效时间为2019/11/15 17:21:30。

    算法

    加密算法,支持ABCDE四种算法。选择算法不同,生成的鉴权URL不同,具体生成规则可参考Key防盗链

    说明:

    算法ABC暂不支持HLS和DASH播放场景,建议使用算法D或算法E。

  5. 单击“确定”,完成参数配置。
  6. 若您选择使用算法D,则参数配置完成后还需要提交工单申请审核,提交的信息需包含配置的域名,及表2中的信息。

    审核通过后Key防盗链功能才会生效。若后续修改了此Key防盗链的配置,也需重新提交工单审核。

验证防盗链功能

  • 验证Referer防盗链

    在Referer防盗链中配置的referer白名单为“www.huaweicloud.com”,且不勾选“不包含空Referer”。在“http://www.example.com/test/test.html”网页中引用点播服务中的视频文件“https://1280.cdn-vod.huaweicloud.com/input/1.mp4”,访问该网页并播放视频,若播放失败则表示Referer防盗链生效。

  • 验证Key防盗链
    1. 登录视频点播控制台
    2. 在左侧导航树中,选择“媒资管理 > 音视频管理”。
    3. 在某个音视频行单击“管理”,选择“播放地址”页签,获取播放地址。
      图6 播放地址

      其中“地址”列为原始播放地址,单击可获取鉴权播放地址。

    4. 在播放器端分别播放原始播放地址和鉴权播放地址,若原始播放地址播放失败,鉴权播放地址播放成功,则表示Key防盗链生效。

相关文档

    OSZAR »