> 文章列表 > 网络视频的防盗与破解

网络视频的防盗与破解

网络视频的防盗与破解

网络视频(Web 视频)是指利用 HTML5 技术在浏览器中播放的视频,这类视频资源通常可以被随意下载,某些行业(比如教培行业)如果希望保护自己的视频资源不被下载,就需要对视频做防盗链处理。

防盗链需要着重加强两个方面的安全性:网络传输和客户端。

网络传输安全

网络传输层面能做的不多,HTTPS 是必要的,除此之外的防护措施效果也有限。

验证 Referer

防盗链最常规的手段是验证 Referer,而伪造 Referer 几乎零成本,所以它只防君子不防小人,没用。

请求防重放

盗链可以理解成一种对静态资源的 “重放攻击”,所以可以用应对重放攻击的思路来改造静态资源请求,通过一个动态接口返回静态资源,并且加入变量让动态请求短时间内失效,比如随机数、时间戳、流水号等等。

这种方式可以做到让链接地址没有复用价值,但攻击者如果脚本化还是可能在有限时间内下载到文件本身。而且这种方案会明显提升服务端的性能压力,因为静态资源的请求量往往比较大,尤其是视频通常还要处理成 m3u8 格式的视频切片,请求量会剧增。

请求权限校验

动态接口可以叠加上权限校验,这也是常见的业务需求,仅授权用户可见。

虽然作为一种防盗手段来说这约等于没有,因为请求信息都能在 chrome 里拿到,在 postman 里重放请求就行了。但这种手段却可以有效的防住一大批视频下载浏览器插件,因为大部分下载插件都是直接请求 url,如果授权信息放在 heade