流媒体直播防盗链安全控制
转载自:http://blog.csdn.net/u013488847/article/details/45789071
防盗链概念主要是从网站的业务中起来,原有定义只要针对网站内容中的文字,图片被他人非法使用导致,随着网站内容的逐渐丰富,出现了更多音乐,视频,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,手机各种接入模式。同时实施相对简单。
流媒体直播防盗链安全控制相关推荐
- lighttpd 的 flv 流媒体(含有防盗链功能)
原贴:http://blog.guoshuang.com/showlog.asp?cat_id=33&log_id=5692 lighttpd 的 flv 流媒体 1 2 3 4 5 本文打分 ...
- 防盗链测试01 - Jwplayer+Tengine2.3.1 mp4模块打造流媒体测试服务器
最近有个想法,想做类似下面的视频URL防盗验证: 1.URL Tag Validation2.Special format of URL for preventing unauthorized usa ...
- 单机十万并发HLS直播服务器的防盗链技术
单机十万并发HLS直播服务器的防盗链技术 本文主要介绍基于HLS直播服务器的十万并发防盗链实现 录制切片服务器 HTTP 服务器 (nginx) LuaLib 录制切片服务器 录制切片服务器负责把直播 ...
- P2P流媒体直播点播(带宽节约95%以上)
P2P流媒体直播点播(带宽节约95%以上)技术分享 -------------------------------------------------------------------------- ...
- f开头的流媒体软件_流媒体直播工具(Streamon)
Streamon是一个免费和开源的流媒体直播工具,帮助你从你的PC到Instagram直播几乎任何东西,Streamon帮助你创建流媒体链接到Instagram直播,只需点击一下就可以了.有需要的小伙 ...
- P2P流媒体直播点播(带宽节约95%以上)技术分享
作者:key zhou QQ:215420465 邮箱:215420465@qq.com 欢迎交流,共同进步. -------------------------------------------- ...
- Nginx反向代理负载均衡虚拟主机动静分离UrlRewrite防盗链
文章目录 1. Nginx简介 1.1 Nginx背景 1.2 Nginx的优点 1.3 Nginx的功能特性及常用功能 2.Nginx安装 2.1 下载上传解压 1.2 安装 3.nginx核心概念 ...
- ATS中开启Refer防盗链功能
ATS默认提供了对Referer头的http request的防盗链功能,主要应用于图片,对视频等会使用级别更高的防盗链功能,比如事先约定好key,采用md5或HMAC-Sha1算法加密等. 在rem ...
- Linux-LNMP(静态元素不记录日志和过期时间,防盗链,解析php,代理,支持ssl)
Linux-LNMP-Nginx配置二 静态文件不记录日志和过期时间 Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理 Nginx负载均衡 SSL原理 生成SSL密钥 ...
最新文章
- 香港中文大学(深圳)韩晓光教授招收三维数字人方向博士生
- [洛谷P4171][JSOI2010]满汉全席
- Oracle中的单值函数
- java旋转爱心_p5.js临摹旋转爱心
- Linux系统中,read文件过程分析
- silverlight ListBox 多列图片效果
- Java格式化日期和时间模式占位符
- c++ pat 乙级 ---1004 成绩排名
- 尼奥机器人不能手机绑定_微信绑定的手机号,如果手机号停用,是不是微信也不能用了?...
- 数据结构(十四)归并排序
- a:10 GET http://localhost:8080/static/js/xxx.js net::ERR_ABORTED 404
- CSS flex 布局 一些基本属性应用
- Altium Designer画PCB详细教程
- 软件测试之软件测试方法
- 《全球科技通史》吴军老师-读书摘录
- STEP2——《数据分析:企业的贤内助》重点摘要笔记(五)——数据加工
- day04-Testin云测平台操作
- 简述数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型
- 数据结构(逻辑结构和存储结构)
- android 编译 汇编,汇编语言写的hellworld,在安卓手机上运行
热门文章
- python高并发编程_python 并发编程
- Linux中hadoop下载安装及环境配置
- getch(),getche(),getchar()的区别 (综合转)
- VS Code 国内官网快速下载
- 玩一玩Android下载框架
- DNS、域、域名及FQDN 概念
- 简单(静态)工厂模式
- Data truncation: Incorrect datetime value: ‘XXXX‘
- 不要小瞧你身边那位看起来很“懦弱”的中年人
- 树莓派学前班——设置屏幕分辩率