这是我的一篇小文,2003年写的,现在的防盗链技术有了很大的发展,出现了很多防盗链插件, 大家大可选择一个,我推荐我自己的 helixapp流媒体防盗链防下载插件, 有无带宽连接限制免费的版本,适合 WMS / helix / IIS 各种服务器

技术贴:流媒体如何防止盗链--欢迎大家探讨

欢迎大家探讨。
呵呵,广告:发布Real防盗链防下载插件试用版 大家看左边的公告
防止盗链是所有流媒体网站的大问题,小弟试着总结一下:

1.对于很多的免费流媒体服务网站,是依*广告生存的,盗链简直和偷窃差不多,但是,我们可以在视频里加入广告,这样别人盗链相当于给你做宣传:) REAL 和 WinMedia 都有不错的广告方案
--这个算是釜底抽薪的一招

2.使用没有菜单的弹出式IE窗口,禁止鼠标右键,避免别人察看HTML源代码
--这个的确可以唬住很多人,但是使用OE之类的离线浏览器或者Tencent之类的多窗口浏览器可以轻松破解这种方式的加密

3.使用javascript/vbs运算来得到 视频的URL ,然后使用工具对 Script 编码,让人难以看懂
--这个的破解的确比上面难了一点,但是客户端的加密始终是*不住的

4.使用自定义的ActiveX控件封装Media/REAL播放控件,对传入的URL加密,这样通过察看HTML代码是看不到URL了。
--可以在InterNet上使用的ActiveX需要一个签名和许可,需要nK的银子,而且,这种方式逃不过Sniffer工具的法眼,特别是现在有工具加入了对Sniffer的支持(比如hiDownLoad)

上面说的都是防止客户看到流媒体的URL,现在我们换一个思路:

5.使用认证:观看节目需要用户名和密码,定期的更换用户名和密码,在论坛上发布
--这个的确让盗链的网站麻烦多了,但是对正常观看的用户也有影响,而且用户和密码难于管理
--补充:REAL可以把认证信息放在数据库里,这样通过二次开发,可以弥补上面的缺点

6.使用播放器绑定,现在的Real和WinMedia9播放器都有全球唯一的GUID,通过服务端的二次编程,纪录合法用户的信息(通过二次开发,使这个这个纪录过程只有在你的网站的协助下才能完成),只有已经记录的播放器才可以观看节目,这种方式比较适合于计费
--但是这个方式的局限也很大,而且需要二次开发

最好的!另外的思路:

7.使用动态URL: URL是不断变化的,每次点播的URL都不同,客户只能从网页上得到URL,使用一次或者一个时间段,这样的话,盗链完全是不可行了。
比如广东世纪前线:
mmst://218.30.8.11/vod1/movie/miss_du_shi_niang.wmv?str=29b797c438532b1ed8a099dd6a1c7cc2 这个是播放某个节目的url
?后面的字符串,要么每次登陆都变化,要么随时间变化,要么一次一个,就算copy了这个URL,换了场景(机器,时间,IP等),也是无法播放
--这个需要服务器端的二次开发:Real/WinMedia都提供了相应的SDK

最后:
8.使用cookie,这个可以做到防止盗连和下载,可以因为cookie的局限性,流媒体服务器只能和web在一个顶级域名下 


9.DRM
这个不用多说了,最终的解决之道,但是需要有机器专门进行媒体内容的加密,影响成本和更新速度,很多站长的内容也是盗版的,就只需要普通的防盗链防下载
WinMediaDRM是免费的(需要公司和个人的电子证书),REAL的也调整了策略,最近大降价,好像对合作伙伴免费了


但是道高一尺,魔高一丈,大家一定还有关于破解和防止破解更好的方法,欢迎大家继续讨论这个话题

这里给个链接,大家可以看看下载的各种手段:)
http://www.pconline.com.cn/pcedu/soft/wl/ftp/0312/265447.html