一种流媒体防盗链的方法及系统技术方案

技术编号:13969382 阅读:50 留言:0更新日期:2016-11-10 03:40
本发明专利技术提供了一种流媒体防盗链的方法及系统,其中所述方法包括:视频发布系统创建的视频URL中加入验证参数,参数中包含创建时间(create_time)、过期时间(expire_time)、URL中的视频路径、是否作为屏蔽(is_barrier)等四个信息,并进行加密,用户播放视频时,通这个带有验证参数的URL访问流媒体服务器;以及,在流媒体服务器端解密此验证参数,并判断用户是否合法;合法则返回视频数据,否则视为盗链,返回报错信息。

【技术实现步骤摘要】

本专利技术涉及互联网
,具体地,尤其涉及一种流媒体防盗链的设计方法及系统。
技术介绍
当前的流媒体厂商众多,他们所提供的资源给用户带来了巨大的方便,但这也使盗链者有机可乘。盗链者在自己的网站上放置了其它流媒体厂商的资源,通过非法的链接,盗用厂商服务器上的视频资源,甚至使流媒体厂商的带宽资源耗尽,服务器崩溃。这是严重侵犯流媒体厂商利益和视频版权的行为,需要有一种有效的系统来打击它。目前,现存的多种防盗链技术分为以下几种:第一种,不定期地更改文件名或目录名,可以比较有效地防止盗链。这种方法一般工作量比较大。另外在文件更名的过程中,有可能有用户正在下载该文件,会造成正常用户访问失败。第二种,利用技术手段保护URL。服务器获取用户提交信息的网站地址,然后和真正的服务端地址比较,如果一致,认为是信任站点,否则为盗链。如常见的referer防盗链。这种方法对于每一个HTTP请求,服务器都要查找.htaccess文件,一定程度上降低了性能。而且目前已经过于简单,盗链者很容易通过构造来越过防御。第三种,针对客户端和服务器端开发专门的防盗链框架,一般是对传输的资源进行加密或者开发一种新的文件格式,盗链者获取这些资源后也不能使用,这种技术一般称为DRM(数字权利管理)。这种防盗链的方法的效果就目前来说是最好的,但是开发复杂,成本很高。第四种,通过在链接中携带认证串的方式进行防盗链,通常依赖于一个统一的用户认证中心对链接进行认证,如果认证不通过则不能获取资源。实际使用中,用户进行登录认证,导致操作繁琐,用户体验不佳。而且同一份资源不同用户使用不同的URL,极大的浪费了内容分发网络资源。在实际应用中,完全杜绝盗链是不可能的,也没有必要。防盗链技术在发展的同时,盗链技术也在进步,任何防盗链机制都不是百分之百可靠。防盗链技术多数都是通过检查HTTP_referer,Cookie和Session而实现,这会带来很多问题。在很多情况下,这些值都为空,比如用户在浏览器地址栏直接输入地址时,用户通过某些代理服务器访问时等,这些都是正常的访问要求,但会被误认为是盗链。并且加了cookie之后,内容分发网络一般不会缓存资源,加大了源站压力。从网站可用性角度来看,采用防盗链技术,相当于供应商把自己的产品层层加锁,严格控制访问途径,这样必然也给正常的终端用户带来不便。网站采用防盗链技术是以牺牲网站的某些功能为代价的,必然导致网站的可用性降低。我们认为,应该在保护自己不受盗链者的侵害与保障网站可用性之间寻得一个可以接受的平衡点,适当地采用防盗链技术。
技术实现思路
本专利技术的目的在于克服上述问题,从而提出了一种对URL中加入验证参数的防盗链方法,在达到防盗链目的的同时,对网站的可用性的影响尽可能地降低。本专利技术的流媒体防盗链的方法及系统,包括:在视频发布系统创建的视频URL中加入验证参数,参数中包含创建时间(create_time)、过期时间(expire_time)、URL中的视频路径、是否作为屏蔽(is_barrier)等四个信息,并进行加密,用户播放视频时,通这个带有验证参数的URL访问流媒体服务器;以及,在流媒体服务器端解密此验证参数,并判断用户是否合法;合法则返回视频数据,否则视为盗链,返回报错信息。本专利技术的流媒体防盗链的设计方法如下,包括以下步骤:步骤1.在视频发布系统创建的视频URL中加入验证参数,包括所访问视频文件在防盗链URL中 的路径;包括URL过期时间、所述验证参数创建时间;以及可选参数(此参数为is_barrier判断值,只要带有这个参数,则当前的验证参数的创建时间将被流媒体服务器记录为时间屏障,所有访问同一视频的请求的创建时间比当前请求的创建时间早的URL都会失效。这样设计的结果是,只要有合法用户使用最新的验证参数访问,被盗链的老的URL就会失效。服务器会在内存中记录此时间屏障,作为判断之后请求是否合法的依据,而不必在硬盘保存状态信息。假如服务器发生故障重启,只要有使用最新的URL的合法用户来访问,被盗链的老的URL就会失效);步骤2.客户端将带有所述验证参数的请求发送到流媒体服务器;步骤3.流媒体服务器收到请求,首先判断是否带有所述验证参数,若没有,认为请求非法,返回报错信息;若带有所述验证参数,进入下一步;步骤4.流媒体服务器对所述验证参数进行解密,若解密失败,认为请求非法,返回报错信息;若解密成功,进入下一步;步骤5.流媒体服务器比对当前时间和过期时间,若当前时间已超过过期时间,则URL失效,返回报错信息;若当前时间未超过过期时间,进入下一步;步骤6.流媒体服务器比对当前请求所带的验证参数的创建时间和服务器记录的上述时间屏障,若创建时间早于时间屏障,则认为请求非法,返回报错信息;若创建时间晚于时间屏障,则认为请求合法,进入下一步;步骤7.如果当前请求的is_barrier为真,则记录当前验证参数的创建时间为该URL的时间屏障,返回所请求访问的视频流。上述流媒体服务器提供一个接口,获得某个视频被请求次数,如果系统发现这个请求次数比用户在客户端页面点击次数大,说明该视频被盗链了。可以重新生成一个有is_barrier标志的验证参数,访问一次流媒体服务器,流媒体服务器更新时间屏障,旧的URL就失效了。这样能够有效地打击盗链行为,同时又不会给服务器增加很大负担。另外,本专利技术的流媒体防盗链的方法及系统,不需要专门的客户端,不需要专用的鉴权服务器,简化了流程,降低了系统复杂度。盗链者无法获得密钥,也无法生成验证参数,因而可以有效地防范盗链。一旦发现某个链接被盗,直接通过生成新URL并访问流媒体服务器的方法更新该链接的时间屏障,不会影响到全站,而且操作简单。具体实施方式以下将对本专利技术的实施例进行详细说明。应当理解此处所描述的实施例仅用于解释说明本专利技术,并不用于限定本专利技术。本专利技术的流媒体防盗链的方法及系统的原理为:在视频发布系统创建验证参数,其中包含创建时间、过期时间、视频路径、是否作为时间屏障等信息,并进行加密;下面为URL的示例:http://192.168.1.123/anti-theft-vod/oceans-clip.mp4/av-g.m3u8?key=NjYyMThlZjkyMTc4ZTFlYzU0MWQ3YTk3ZDA0ZmJlMmQsPFBCXVRKV0VcUkJQQl1USlVDXFJC其中问号后面的key即为上述验证参数,以下简称为key,示例中为加密后的keykey中包含的信息包括:expire_time:即上述过期时间,超过这个时间后,这个URL失效。create_time:当前key的创建时间。is_barrier:这个值用来判断当前key的create_time是否作为时间屏障。md5校验值:md5源字符串包括:视频路径、expire_time、create_time、可选的还可以包括is_barrier流媒体服务器端收到请求后,解密此key,并判断用户是否合法;合法则返回视频数据,否则视为盗链,返回报错信息。本专利技术的流媒体防盗链的设计方法如下,包括以下步骤:步骤1.当用户请求访问视频时,在视频发布系统创建的视频URL中加入验证参数key,例如:base64_encode(strin本文档来自技高网
...

【技术保护点】
一种流媒体防盗链的方法及系统,其特征在于,包括以下步骤:步骤1.在视频发布系统创建的视频URL中加入验证参数,参数中包含创建时间(create_time)、过期时间(expire_time)、URL中的视频路径、及可选项:是否作为屏蔽(is_barrier)等四个信息,并进行加密;步骤2.用户播放视频时,通这个带有验证参数的URL访问流媒体服务器,在流媒体服务器端解密所述验证参数,并判断当前时间是否已超过过期时间,是则视为盗链,返回报错信息;否则进入下一步;步骤3.继续比对创建时间是否早于时间屏障,早于则视为盗链,返回报错信息;否则进入下一步;步骤4.继续判断是否包含可选项is_barrier,包含则更新时间屏障,并返回视频数据,不包含则直接返回视频数据。

【技术特征摘要】
1.一种流媒体防盗链的方法及系统,其特征在于,包括以下步骤:步骤1.在视频发布系统创建的视频URL中加入验证参数,参数中包含创建时间(create_time)、过期时间(expire_time)、URL中的视频路径、及可选项:是否作为屏蔽(is_barrier)等四个信息,并进行加密;步骤2.用户播放视频时,通这个带有验证参数的URL访问流媒体服务器,在流媒体服务器端解密所述验证参数,并判断当前时间是否已超过过期时间,是则视为盗链,返回报错信息;否则进入下一步;步骤3.继续比对创建时间是否早于时间屏障,早于则视为盗链,返回报错信息;否则进入下一步;步骤4.继续判断是否包含可选项is_barrier,包含则更新时间屏障,并返回视频数据,不包含则直接返回视频数据。2.根据权利要求1所述的流媒体防盗链的方法及系统,其特征在于,所述的步骤1中,视频发布系统创建的视频URL中加入验证参数,包括所访问视频文件在防盗链URL中的路径;包括URL过期时间、所述验证参数创建时间;以及可选参数(此参数为is_barrier判断值,只要带有这个参数,则当前的验证参数的创建时间将被流媒体服务器记录为时间屏障,所有访问同一视频的请求的创建时间比当前请求的创建时间早的URL都会失效。这样设计的结果是,只要有合法用户使用最新的验证参数访问,被盗链的老的URL就会失效。服务器会在内存中记录此时间屏...

【专利技术属性】
技术研发人员:杨成立王旭光
申请(专利权)人:观止云北京信息技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1