防盗链简介

2024 年 6 月 17 日
防盗链

内容

免费试用 CDNetworks

我们的大多数产品都有 14 天的免费试用期。无需信用卡。

分享这个帖子

在我们这个“内容为王”的世界里,当谈到视频内容时,大多数用户并不关心他们在哪里观看和消费内容,而是关心在特定的网站上找到他们喜欢的视频。

因此,为了提升品牌影响力、增加用户黏性、培养用户付费观看习惯,各视频网站纷纷加大对原创内容的投入,提供差异化服务。各视频网站不惜花费重金收购独家版权,以优质IP吸引用户,创造正面口碑。在如此巨额的内容投入下,如何防止独家视频被盗用、避免版权侵权已成为当务之急。

作为CDN行业的领先者,CDNetworks始终致力于保障视频网站的服务质量,维护其合法利益。

为了帮助视频网站解决视频盗链问题,CDNetworks推出了一系列基础防盗链功能,包括IP黑白名单(含地域访问权限)、Referer防盗链、User-Agent防盗链、Cookie防盗链等,通过相关规则识别盗链请求并拒绝提供服务,保护视频版权,有效帮助视频平台节省带宽和服务器维护成本。

防盗链技术 IP黑白名单防盗链 引荐来源防盗链 User-Agent 防盗链 Cookie 防盗链
应用场景 允许或拒绝来自指定 IP 的用户请求 允许或拒绝来自指定网站的用户请求 允许或拒绝来自指定浏览器或客户端的用户请求 允许或拒绝使用指定 Cookie 的用户请求
优点: 简单的实现方法 简单的实现方法 简单的实现方法 简单的实现方法
缺点: 应用场景受限 标签很容易被模仿,防盗链效果一般 标签很容易被模仿,防盗链效果一般 标签很容易被模仿,防盗链效果一般

CDNetworks 防盗链功能概述

IP 白名单/黑名单

IP 地址在通信网络中是唯一的。在不考虑 NAT(网络地址转换)的情况下,客户端的 IP 地址通常在整个请求过程中保持不变。当客户端向 CDN PoP 发起请求时,PoP 可以获取客户端的 IP 地址。因此,可以利用 IP 地址进行访问控制。收到请求后,CDN PoP 会验证客户端的 IP 地址,并根据预定义的规则授予或拒绝访问。

IP白名单/黑名单适用场景

黑白名单适用于以下场景:

  • 当检测到某些IP地址的访问行为异常,如盗链、某些攻击等,可以将这些IP地址加入黑名单,从而直接拒绝这些IP地址对CDN PoP点的访问。
  • 当加速内容需要基于IP地址进行访问限制时,比如只允许公司内部员工访问,禁止公司外人员访问,可以将公司的固定出口IP地址加入白名单,白名单之外的IP地址的访问将直接被拒绝。
  • 当加速内容的访问需要根据地理区域进行限制时,比如只允许纽约地区的用户查看或下载,其他地区的用户则无法访问,此时可以使用区域访问权限功能。
实施

黑白名单支持以下方式:

  • 支持对一个或多个IP地址的访问控制(黑名单或白名单)。
  • 支持IP地址范围的访问控制(通常使用IP+子网掩码,例如192.168.1.0/24)。
  • 支持区域访问权限,例如允许或拒绝来自特定区域的用户访问特定资源(基于用户的出口IP位置)。

引荐来源防盗链

当客户端向 Web 服务器发送请求时,通常会携带一个 Referer 标头,向 Web 服务器指示该请求来自哪个页面。因此,可以根据此标头进行访问控制。当 CDN 边缘服务器收到客户端请求时,它会检查 HTTP 请求标头中的 Referer 字段中的信息,然后允许或拒绝符合特定规则的用户请求。

适用场景

Referrer防盗链适用于只能从特定页面访问加速内容的场景,比如只能让用户通过点击特定页面的链接才能访问资源。

实施

使用Referrer防盗链功能时,需要指定如何处理空引用(指HTTP请求头中不携带Referer头的情况,一般发生在直接在浏览器地址栏输入URL,或者通过非浏览器方式访问URL时),默认是禁止空引用的。

User-Agent 防盗链

当客户端向 Web 服务器发送请求时,通常会携带 User-Agent 标头,向 Web 服务器指示哪个客户端发起了请求。因此,可以根据此标头执行访问控制。当 CDN PoP 收到客户端请求时,它会检查 HTTP 请求标头的 User-Agent 字段中的信息,然后允许或拒绝符合特定规则的用户请求。

适用场景

User-Agent防盗链适用于以下场景:

  • 当加速内容只允许特定浏览器访问时,比如只允许IE访问,拒绝Chrome访问,可以使用User-Agent防盗链。
  • 当加速域只允许特定的客户端访问时,比如有专门的客户端在发送请求时携带特定的User-Agent信息,则可以采用User-Agent防盗链。
实施

几种流行浏览器的常见User-Agent信息如下:

浏览器 用户代理信息
IE11 Mozilla/5.0 (Windows NT 6.1;WOW64;Trident/7.0;rv:11.0) 与 Gecko 类似
IE10 Mozilla/5.0(兼容;MSlE 10.0:Windows NT 6.1;WOW64;Trident/6.0)
IE9.0 Mozilla/5.0(兼容;MSlE 9.0;Windows NT 6.1;Trident/5.0:MATP;BOIE9:ZHCN)
IE8.0 Mozilla/4.0(兼容;MSlE 8.0;Windows NT 6.1;Trident/4.0:SLCC2;.NET CLR
2.0.50727;NET CLR 3.5.30729:NET CLR 3.0.30729;MATP;媒体中心 PC 6.0;.NET4.0C;
平板电脑2.0;BOIE9:ZHCN)
铬合金 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36(KHTML,类似 Gecko)
Chrome/27.0.1453.110 Safari/537.36
火狐 Mozilla/50(Windows NT 6.1;WOW64:rv:21.0)Gecko/20100101 Firefox/21.0
苹果浏览器 AppleWebKit/534.30(KHTML,如 Gecko)版本/4.0 移动版 Safari/534.30
歌剧 Mozilla/5.0(兼容;MSlE 9.0;Windows NT 6.0)Opera 12.14

Cookie 防盗链

Cookie是某些网站为了识别用户身份、进行会话跟踪等目的,存储在用户本地终端的数据。当用户再次访问同一个网站时,原始Cookie会被携带到服务器。因此,可以根据该Header进行访问控制。CDN PoP在收到客户端请求时,会检查HTTP请求Header中Cookie字段的信息,允许或拒绝符合特定规则的用户请求。

适用场景

Cookie防盗链适用于仅允许携带指定Cookie的请求访问加速内容的场景。

实施

使用cookie防盗链时需要注意:

  • 支持仅对携带指定Cookie的请求配置访问,通过识别Cookie中携带的关键字来判断是否允许用户访问。
  • 由于用户首次访问时并不携带cookie信息,因此有必要允许使用空cookie进行访问。

CDNetworks 实施访问控制的方法

防盗链流程图

  1. 用户向CDN PoP发起视频请求。
  2. CDN PoP会检查用户信息(如IP、Referer、User-Agent、Cookie等)是否符合配置的要求,若不符合则拒绝请求,若符合且本地缓存有内容则直接响应,若本地没有缓存内容则从源站获取相应资源。
  3. 视频源服务器响应 CDN PoP 的请求。
  4. CDN PoP 响应客户端的请求并在本地缓存资源。

探索更多