防盗链系列一:判断referer来源

15 views
Skip to first unread message

netkiller

unread,
Sep 28, 2008, 1:48:52 AM9/28/08
to netkiller
[web开发] 防盗链系列一:判断referer来源
2008年07月15日 星期二 16:52
转载请说明该文章来自smallfish博客,http://hi.baidu.com/smallfish7788,谢谢!

很多个站以及商业站点都为一些盗链都事情烦恼,尤其是一些图片或者mp3歌曲之类的,搜索引擎以及迅雷占用了若干可怜的带宽,甚至服务器不堪重负。根据
自己的经验整理出一些可用都方案出来,希望能有所帮助。

首先从最简单的判断referer开始,假设web服务器为apache(lighttpd/nginx也有相应referer配置)

修改apache/conf/httpd.conf,添加以下一段配置:
SetEnvIfNoCase Referer "^http://www.abc.com" local_ref=1
SetEnvIfNoCase Referer "^http://a.abc.com" local_ref=1
<FilesMatch "\.(txt|doc|mp3|zip|rar|jpg|gif)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>

重启下apache,简单都防盗链就OK了。你可用尝试下在别的网站引用下自己网站里都图片。

referer原理很简单,就是判断从哪个页面到你现在的文件。上面都配置只是简单的判断下,也可以在里面加上rewrite功能,referer不正
确的重新转到另外的页面或图片,这样显得更为友好。

当然判断referer并不是最有效的方法,只是过滤掉一些简单都盗链,很容易伪造。

请继续关注防盗链系列。
Reply all
Reply to author
Forward
0 new messages