欢迎,请 登录 | 注册 | 加入收藏

防盗密钥签名+白名单双重防盗机制

做在线视频是不是经常遇到盗链的情况,好不容易花钱租个视频服务器,自己没几个流量,却被盗链的搞去大部分宽带成本,烧钱烧的心疼又无可奈何,只能任人宰割。

我们使用文件签名+时间戳+ip验证+白名单机制进行全方位防盗,保证防盗效果百分百完全有效。

注意使用商业cdn(比如阿里、腾讯、百度这种卖流量)又想防盗可以使用cdn域名做ts域名m3u8域名解析到PPVOD服务器。ts域名的使用办法参考:http://www.ppvod.com/dianbo/gongneng/457.html

如果不需要防盗功能请清空全部设置和关闭设置项。

该系统的防盗有两种机制:一是给文件后面加上sign认证(指定防盗格式+有效期+密钥+客户端Ip验证,密钥的算法参考:http://www.ppvod.com/dianbo/wenti/485.html),另外一个机制是使用白名单(文件地址判断+来路判断+禁止空来路),两套机制配合使用形成天衣无缝的防盗。

为了方便大家理解,我们把两套机制分开讲,使用的时候可以同时使用,加强防盗效果。

首先我们讲防盗密钥(文件地址后面带sign)的机制:

防盗格式:

首先,你要指定你的哪些文件需要防盗,就在防盗格式里面加上指定的后缀名,不需要带.,直接填上格式,多个用|分隔即可。即使是普通的文件也可以进行防盗处理,并不仅限于视频类文件。

防盗格式设置.png

防盗密钥:

产生密钥的混淆字符,英文数字都可以,切记不要使用符号,长度8位即可。如果你启用了防盗密钥,必须在前端网页或app使用防盗密钥算法才能正常打开文件,效果:/20190904/ubATBCor/index.m3u8?sign=422669b591323dde0fb59917d2ccc97782f3fd,密钥的算法参考:http://www.ppvod.com/dianbo/wenti/485.html

防盗密钥.png

失效时间:

防盗时间设置0.png

sign密钥的有效期,超过这个有效期就会失效,一般有效期时间是你大部分视频的时长即可。

防盗时间不是0.png

sign后面的密钥10分钟即失效,必须刷新生成密钥才能播放。

防盗格式、密钥、有效期,三项全部设置才能产生正确的sign,以下是在浏览器里面的结果:

防盗密钥效果.png

 ip验证:

PPVOD和前端网页(app)共同验证用户ip是否一致,否则拒绝提供访问,使用此功能,需要在你的前端密钥算法里面获取终端用户的ip地址,

比如php的代码:

$ip=get_real_ip();

$sign=bin2hex(aes128Encrypt('ppvod',"timestamp=".$time."&ip=".$ip));//ppvod改为你自己的防盗密钥

其中的ip需要你的程序获取用户的网络ip,如果你的程序无法获取准确的用户ip就不要打开此设置项。

举个例子,比如用户a在浏览器通过网站获取你正常的m3u8+sign地址,这时候他想把这一串地址http://localhost:2100/20220305/Cau2txVM/index.m3u8?sign=b063bc7add961646542374387v22uwQS4发给用户b使用,用户b的ip跟sign里面验证的ip不一致则无法播放。这也能杜绝使用解析工具获取你的m3u8+sign给别人播放。

 以上就是密钥的组合使用,除了IP验证可以单独开关以外,前面三项必须同时使用。IP验证能加强sign的可靠性,每个终端ip用户一个独有sign内容,防止解析盗链。

 --------------------------------------------------------------------分割线-----------------------------------------------------------------------------

下面介绍白名单的用法

白名单:

整个视频系统的文件(音视频文件和普通文件)在白名单的域名才能访问,白名单的内容包含“视频地址”使用的域名、调用网站的域名。视频地址的域名比较好理解,很多人对于“来路”很难理解,简单的说就是用户从哪个域名来访问你的视频地址,比如你的网站调用视频地址,那么来路就是你的网站域名。如果是盗链网站的域名不在你的白名单内,那他的网站就不能使用你的视频地址。注意手机端app也是属于无法识别来路域名的,所以手机端app不要使用白名单+禁止来路为空,只能使用“防盗密钥”的防盗方式。

白名单的域名包含三种情况:

白名单例子.png

1、视频地址使用的域名

比如m3u8地址:https://www.ppvod.com/20200808/Rxcj8ALc/index.m3u8    预览地址:https://www.ppvod.com/share/YPll6gtzvF9i9ZRX

www.ppvod.com就是你视频地址使用的域名。如果你还有其他域名或者ip需要作为视频地址的播放域名,都要添加到白名单里面。

2、网站使用的域名

因为网站域名和视频地址的域名往往都是使用的不同域名或者是同一个域名的二级域名,比如v.ppvod.com   www.ppvod.com就是属于两个域名。

如果你网站的域名是v.ppvod.com  或者其他网站需要调用你的视频地址,应该把全部网站的域名添加到白名单。

3、来路域名

很多人对来路完全没法理解,就是你从哪个地址过去的。比如你在后台点标题,打开预览地址播放视频,那后台地址就是一个来路地址。很多人添加白名单的时候不把PPVOD后台的地址加进去,结果点标题无法播放,那就是因为你没有把后台地址添加到你的白名单。

我的人说我设置了白名单,为什么复制的预览地址(/share/MgUbyHgoxsYwbCbh),不能直接到浏览器打开呢?发到qq、微信等通讯工具里面也是打不开的,因为直接复制或从其他工具打开,都视为不允许的来路。如果复制的这个播放地址都可以直接打开,那你防盗的意义又是什么呢?

禁止来路为空:

此项必须配合白名单使用。任何白名单外的访问来路都会被拒绝,加强白名单防盗效果。

有些网站为了盗链视频,故意在网页头部加上空来路,绕过白名单内容,打开此项,就可以防止这种漏洞了。

另外在qq、微信里面打开链接或者直接把地址复制到浏览器打开都属于“来路为空”,是不可以直接打开的。

应用示范:

1、不需要防盗的土豪模式,如果你使用btcdn自建cdn网络,这边也可以完全关闭防盗,把防盗任务交给btcdn

不需要防盗模式.png

2、m3u8防盗,ts使用商业cdn,如阿里、腾讯、百度等

域名设置方法

使用商业cdn.png

防盗设置方法

使用商业cdn.png

*注意使用cdn的情况不要勾选“智能屏蔽”以防把你的cdn服务器被屏蔽了,如果你cdn系统是自己构建的,也可以勾选“智能屏蔽”,把自己的cdn服务器ip加到“白名单”里面就可以。

如果你觉得解析域名到视频服务器暴露了服务器地址不安全,m3u8和ts都可以使用cdn域名,在cdn系统设置m3u8不缓存即可,具体设置咨询cdn客服。

3、全手机端app模式

手机端app防盗设置.png

4、菜鸟网页模式

菜鸟模式.png

 

你还可以有更多的防盗组合,在理解每个设置项的基础上进行设置,你就可以实现完美的防盗效果。

以上防盗适用于任何网页播放器、app等各类终端。



PPVOD视频点播系统下载地址:http://www.ppvod.com/dianbo/xiazai/440.html
PPVOD全能直播软件下载地址:http://www.ppvod.com/zhibo/xiazai/511.html
在线服务QQ:250093148

收缩