防盗链概念主要是从网站的业务中起来,原有定义只要针对网站内容中的文字,图片被他人非法使用导致,随着网站内容的逐渐丰富,出现了更多音乐,视频,flash等方面内容,同时针对防盗链的技术要求也在不断加强。
视频直播业务的要求在这方面会更加重要,举例来说,一个教育网站,老师的实时授课视频,如果未经过授权,就被其他网站非法接入,在其他网站就可以随意的观看,这对于经营者来说,将是巨大的损失。如果一个现场的演唱会直播,同样在未经过授权的情况下,就可以被他人接入观看,那演唱会的销售就会直接被影响。而视频直播的内容,往往都是经过大量资源投入而制作的,一旦被轻易的盗用,对于业务的危害是显而易见的。
什么是防盗链
防盗链其实就是采用服务器端编程,通过url过滤技术实现的防止盗链的软件。比如file.abc.com/test.rar 这个下载地址,如果没有装防盗链,别人就能轻而易举的在他的网站上引用这个地址。如果对file.abc.com 这个站的服务器端编程,比如通过file.abc.com/test.rar?authcode=xxxxxxxxxxxxxxxx& ip=127.0.0.1 绑定了ip,只能通过127.0.0.1来访问这个链接,而无法通过其他IP访问。
防盗链的定义
此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。 常常是一些名不见经传的小网站来盗取一些有实力的大网站的地址(比如一些音乐、图片、软件的下载地址)然后放置在自己的网站中,通过这种方法盗取大网站的空间和流量。
防盗链的产生
一般我们在网上浏览一个完整的页面并不是一次性全部传送到客户端的。如果所请求的页面带有图片或其他信息,那么第一个Http请求传送的是这个页面的文本,然后通过客户端的浏览器对这段文本进行解释执行,如果发现其中还有图片,那么客户端的浏览器会再次发送一条Http请求,当这个请求被处理后这个图片文件才会被传送到客户端,最后浏览器回将图片安放到页面的正确位置,就这样一个完整的页面要经过多次发送Http请求才能够被完整的显示。基于这样的机制,就会产生盗链问题:如果一个网站中没有其页面中所说图片信息,那么它完全可以链接到其他网站的图片信息上。这样,没有任何资源的网站利用了别的网站的资源来展示给浏览者,提高了自己的访问量,而大部分浏览者又不会很容易地发现,这样显然对于那些被利用了资源的网站是不公平的。一些不良网站为了不增加成本而扩充自己站点内容,经常盗用其他网站的链接。一方面损害了原网站的合法利益,另一方面又加重了服务器的负担。
防盗链的实现
要实现防盗链,我们就必须先理解盗链的实现原理,提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫referer,采用URL的格式来表示从哪儿链接到当前的网页或文件。换句话说,通过referer,网站可以检测目标网页访问的来源网页,如果是资源文件,则可以跟踪到显示它的网页地址。有了referer跟踪来源就好办了,这时就可以通过技术手段来进行处理,一旦检测到来源不是本站即进行阻止或者返回指定的页面。 如果想对自己的网站进行防盗链保护,则需要针对不同的情况进行区别对待。如果网站服务器用的是apache,那么使用apache自带的Url Rewrite功能可以很轻松地防止各种盗链,其原理是检查refer,如果refer的信息来自其他网站则重定向到指定图片或网页上。 如果服务器使用的是IIS的话,则需要通过第三方插件来实现防盗链功能了,现在比较常用的一款产品叫做ISAPI_Rewrite,可以实现类似于apache的防盗链功能。另外对于论坛来说还可以使用“登录验证”的方法进行防盗链。
奥点云流媒体针对防盗链做了针对性的技术方案,用户可以针对不同的使用场景和条件,进行相应的防盗链处理。
基于域名防盗链处理
这是最通行的做法,从技术实现上也是最为简洁和容易使用,但是缺点也是比较明显的,只适合于网站页面模式使用,一旦脱离的浏览器,就会受到限制。同时从技术上的破解相对也是容易的。
基于连接令牌(Token)接入,通过带入加密的Token进行接入访问
这种做法,是针对每个视频源都设置指定的加密Token,使用者只有获得Token,才容许授权接入,适合于网站页面,客户端,pc,手机使用,实施相对简单,但是由于Token的相对固定,一旦Token被他人知晓,也会面临内容源被盗取的风险。
基于发布令牌(Token)加密,结合授权服务接入访问
发布令牌授权,是在原有Token授权模式上,做了更进一步的加强,Token每时每刻都在不断随机变化,使用者必须连接到授权服务器,每次接入的时候,都需要从授权服务器获取最新的Token,才容许接入。这个就类似银行的个人usb安全密码器,在登录网上银行的时候,需要获取随机登录密码,才可以登录网银。 在这种情况下,使用者如果无法连接到授权服务器,几乎是不可能得到连接令牌,从而杜绝的被非法使用的可能性。这种模式同样适用于页面,客户端,pc,手机各种接入模式。同时实施相对简单。