首页/云/云网络与负载均衡速查/CDN 防盗链与 URL 鉴权
云 DNS 与 CDN49 条

CDN 防盗链与 URL 鉴权

防盗链用 Referer 黑白名单与 URL 签名限制资源被未授权引用或盗刷:签名 URL 由路径、时间戳与密钥计算得出,过期即失效,适合付费内容与直播流;Referer 校验实现简单但可被伪造,两者常叠加使用。

防盗链的两类手段

防盗链用来限制资源被未授权地引用或盗刷流量,主流手段有两类。Referer 校验按来源页做白名单或黑名单,实现简单但请求头可以伪造;URL 签名由路径、时间戳与密钥计算得出,过期即失效,适合付费内容与直播流。实际部署通常把两者叠加,再按需加入 IP 或 UA 限制。

基本信息

Referer 校验按来源页做白名单或黑名单,成本低
URL 签名路径加时间戳按密钥签名,过期即失效
产品差异各厂商鉴权类型与算法不同,参数名以文档为准
叠加方式Referer、签名与 IP 限制组合抬高盗用门槛
副作用签名参数进入缓存键会降低命中率

典型使用场景

  • 付费视频与课程资源,用签名 URL 控制有效期
  • 图片与素材站防止被外站直接引用
  • 直播流的播放地址按会话发放,防止地址扩散
  • 下载站限制单次有效的下载链接
  • 排查盗刷流量:先用访问日志确认来源特征再决定策略

签名 URL 生成思路

签名 URL 生成思路
# 伪代码:sign = md5(path + timestamp + key)
printf '%s' "/video/a.mp4${t}${key}" | md5sum
# 请求形式:https://cdn.example.com/video/a.mp4?sign=<sign>&t=<timestamp>
# key 只保存在服务端,绝不下发到客户端
# 各厂商算法与参数名不同,实现前先对照官方文档

手段对比

手段成本强度适用场景
Referer 白名单低弱,可伪造普通图片与静态素材
Referer 黑名单低弱,易误伤屏蔽特定盗链站点
URL 签名中较强,可限时付费内容、直播流
IP 或 UA 限制低中,易误伤内部接口与特定客户端
签名密钥写在客户端代码或前端配置里等于形同虚设;密钥只能在服务端使用,并要有轮换机制。
签名参数参与缓存键时要评估命中率影响:同一资源的多个签名 URL 会在边缘各缓存一份,命中率明显下降。

上线检查项

  • 密钥只保存在服务端并制定轮换计划
  • 验证正常请求可通过、伪造签名被拒绝
  • 核对签名参数是否进入缓存键
  • 观察上线后命中率与回源率的变化

易错点

  • 签名密钥写进客户端代码或仓库,防盗链形同虚设
  • 开启 Referer 黑名单后误伤自有站点跳转与站内页面,出现图片不显示
  • 签名参数进入缓存键导致命中率骤降,回源流量与成本同时上升
  • 只开防盗链不改监控,盗刷发生时没有告警,事后才发现账单异常

数据来源与参考

  • 阿里云 CDN 鉴权方式说明
  • 腾讯云 CDN 防盗链与鉴权文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌