防盗链技术终极解决方案_computer 终极定制学习解决方案

防盗链技术现状: 1、通过识别Referer确认请求来源页面 2、Apache,squid等都能对Referer进行识别 3、通过ActiveX显示的内容不向服务器提供Referer Header(例如,Flash,WindowsMedia视频等) 4、流媒体的RTSP协议也不向服务器提供Referer Header 5、通过服务器端程序代码实现防盗链应用现状: 1、对图片、HTML等可以实现防盗链 2、无法对Flash,WindowsMedia视频(MMS,RTSP)实现防盗链 3、服务器端程序代码实现的防盗链无法通过CDN加速对于Flash,WindowsMedia视频这种占用流量较大的服务无法实现防盗链,对一个依靠这类内容作为盈利点的网站来说是非常头疼的,俺通过一些研究以及测试实现了采用Cookie技术的防盗链解决方案,完美的解决了对Flash,WindowsMedia视频的防盗链。首先发现虽然ActiveX插件不传递Referer,但是却忠实的传递Cookie。于是在显示ActiveX的页面的<head> </head>标签内嵌入一段代码:<script> document.cookie="Cache=vod;domain=domain.com;path=/"; </script>这段代码用 javascript 设置了一段 Cookie: Cache=vod然后通过各种ACL来判断这个Cookie的存在以及验证其值的操作了Squid: 建立脚本 /usr/local/squid/libexec/squid_cookie.pl-----------#!/usr/bin/perl -w # programmed by oknet http://blog.sina.com.cn/m/oknet # 这个脚本仅仅是验证了Cache这个cookie的存在,没有严格的校验其值。
# This is the cookie to check for.
$COOKIE="Cache=";
# disable output buffering
$|=1;
# cookie matches?
while (<STDIN>) {
chop;
$cookie=$_;
if( $cookie =~ /$COOKIE/i) {
print "OKn";
} else { print "ERRn"; }
}----------- 然后在squid.conf添加:external_acl_type download children=15 %{Cookie} /usr/local/squid/libexec/squid_cookie.placl dl external download 然后选择需要进行防盗链的文件类型:acl filetype url_regex -i .wmv
acl filetype url_regex -i .wma
acl filetype url_regex -i .asf
acl filetype url_regex -i .asx
acl filetype url_regex -i .avi
acl filetype url_regex -i .mp3
acl filetype url_regex -i .smi
acl filetype url_regex -i .rm
acl filetype url_regex -i .ram
acl filetype url_regex -i .rmvb
acl filetype url_regex -i .swf
acl filetype url_regex -i .mpg
acl filetype url_regex -i .mpeg
acl filetype url_regex -i .mov
acl filetype url_regex -i .zip
acl filetype url_regex -i .mid 如果仅仅只是禁止用户访问的话,就没意思了,要让盗链者帮我们宣传我们的网站,特别是发现盗链比较多的时候,这个时候,可以让任何盗链的网站帮我们免费宣传~~~那就是把盗链的url重定向到我们的网站宣传页~~ 建立脚本:/usr/local/squid/libexec/squid_redir.pl--------------------------
#!/usr/bin/perl -T -w
#
# rredir.pl
#
# Author: Peter Eisenhauer <pe@pipetronix.de>
# First Version: 26. May 1997
# Modified by oknet http://blog.sina.com.cn/m/oknet #
# Description: Direct all request to files who are in a local dir to
# this directory
#
use File::Basename;
use URI::URL;# flush after every print
$| = 1;# Process lines of the form 'URL ip-address/fqdn ident method'
# See release notes of Squid 1.1 for details
while ( <> ) {
$r302=0;
($url, $addr, $fqdn, $ident, $method) = m:(S*) (S*)/(S*) (S*) (S*):; $url = url $url;
$host = lc($url->host); if ( $host !~ /./ ) {
next;
} if ( $host =~ /vod.domain.com/ ) {
$url->path("/ad.wmv");
$r302=1;
}} continue {
if ( $r302 ) {
print "302:$urln";
} else {
print "$url $addr/$fqdn $ident $methodn";
}
}-------------------------- 然后在squid.conf添加:redirect_program /usr/local/squid/libexec/squid_redir.pl
redirect_children 5acl superurl url_regex -i ^http://vod.domain.com/tom.wmv$redirector_access deny superurl
redirector_access allow filetype !dl
redirector_access deny all 设置superurl是因为宣传我们自己站点的视频是不做防盗链的,这样才能起到宣传的作用。现在大功告成啦!网站的流量大幅增加~~~PV是原来的三倍,Oh,Yeah~ WMS视频的MMS协议由于不是明文,无法实现防盗链,但是RTSP协议基本就是HTTP协议的变种,可以在BIGIP等可以进行Layer 7处理数据的设备上实现对Cookie的校验。但是WMS视频防盗链要禁止MMS协议,因为MMS协议不是明文,无法进行cookies的识别。但是可以在HTTP,RTSP上进行识别,WMS V9都是支持HTTP,RTSP的。下面是用于BIGIP的防盗链iRule:--------------------------if (http_uri matches_regex "vod.domain.com") {
if (http_cookie("Cache") == "vod") {
use pool vod-rtsp
}
else {
discard
}
}
防盗链技术终极解决方案_computer 终极定制学习解决方案
else {
use pool vod-rtsp
}
-------------------------- 其他的系统可以参考以上的规则。 采用Cookie的防盗链方式对于大多数的系统都可以轻易实现,Cookie一般都是用来传递认证信息,相信不会出现不传递的状况。

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/81326.html

更多阅读

2015谷歌无法访问,最新终极解决方案 终极定制学习解决方案

2015谷歌无法访问,最新终极解决方案——简介谷歌接二连三被屏蔽,2014年5月被封锁,10月再次被封锁,12月Gmail又被封锁,2015年1月下旬再次被封锁,额,我都服了,不多说,往下看:2015谷歌无法访问,最新终极解决方案——工具/原料博软G搜索(一款软件,自

信物宝之我见 资产配置之我见

“信诚为本,物有所值,宝成正秋“是信物宝公司名称的终极解释,也是公司的宗旨。通过我自己对网站的浏览,我觉得他既是一个如同阿里巴巴的消费平台,又是一个可以投资,融资的地方。信物宝的功能比一般的电子商务平台功能更强大,而且不仅让货物

云适配技术 云适配ceo陈本峰 专访

云适配技术 潘瑞瑾 陈焕讯 由陈本峰始创的基于手机浏览国际专利以及结合HTML5技术的云适配技术可以帮助企业快速地把桌面版网站的网页适配到采用各种移动操作系统的移动设备的屏幕上。云适配技术可以解决当用户用手机浏览传统PC

党政机关公务接待方案怎么写 公务接待事由怎么写

老秘谈党政机关公务接待方案怎么写?   [复制链接]会议接待方案流程会前工作:1、与会议主办者洽谈。2、向会议主办方提供会议接待策划方案和报价。3、邀请会议主办者实地考察会议举办场所。4、与会议主办者确认会议接待方案。5、与

声明:《防盗链技术终极解决方案_computer 终极定制学习解决方案》为网友一湾青森分享!如侵犯到您的合法权益请联系我们删除