IT猫扑网文章教程

分类分类

Apache中防止盗链和多线程下载

2015-06-28 00:00作者:网管联盟

防盗链可以检查 http referer 看是从那连接来得

参考 http://apache-server.com/tutorials/ATimage-theft.html

SetEnvIfNoCase Referer &^http://my.apache.org/& local_ref=1

Order Allow,Deny
Allow from env=local_ref


改改要检查的档案范围就可以了

或是再加个

SetEnvIfNoCase Referer &^$& local_ref=1

有些会删掉 http referer 的 proxy 用户需要这个。

防多线程下载

mod_limitipconn.c是一个非官方的apache模块,可以用来作为WEB文件的下载限制,但是它是使用ExtendedStatus On形式,工作在应用层。当同一个IP的连接到达限制的时候,apache对get请求发送:

HTTP/1.1 503 Service Temporarily Unavailable

从而使用户不能下载,但并不能阻止这种攻击,仍旧允许连接的。不过这个东东对网管来说还是很有用的,特别是下载站的网管。简单介绍一下安装(动态模块方式安装,假设你的apache已经装在/usr/local/apache目录下):

下载:http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz

# tar xzf mod_limitipconn-0.04.tar.gz
# cd mod_limitipconn-0.04
# vi Makefile

把第一行的:

APXS = apxs

改为

APXS = /usr/local/apache/bin/apxs

然后:

# make
# make install

修改apache配置文件:

# vi /usr/local/apache/conf/httpd.conf

ExtendedStatus On ###make install时这句前面的#没有去掉,一定要去掉

###make install已经加了下面两句,确认存在就行了
LoadModule limitipconn_module libexec/mod_limitipconn.so
AddModule mod_limitipconn.c

###下面就是对web目录下的文件下载限制

MaxConnPerIP 3 ###限制web根目录同一个IP只能同时开3进程下载

# 还有其它选项,如:
# NoIPLimit image/*
# OnlyIPLimit audio/mpeg video
# 可以设置多个Location

重启apache,用多线程的下载工具下载时,大于3个线程,其余的将得到信息:

HTTP/1.1 503 Service Temporarily Unavailable

或者根据User_Agent判断,把已知的多线程工具都给deny 掉
in httpd.conf
.....
BrowserMatch &NetAnt& badguy
BrowserMatch &GetRight& badguy
BrowserMatch &JetCar& badguy
BrowserMatch &Mass Downloader& badguy
BrowserMatch &ReGet& badguy
BrowserMatch &DLExpert& badguy
BrowserMatch &FlashGet& badguy
BrowserMatch &Offline Explorer& badguy
BrowserMatch &Teleport& badguy
...........

order deny,allow
deny from env=badguy
allow from all

注意httpd里面应该有mod_setenvif模块

展开全部

相关文章

说两句网友评论
    我要跟贴
    取消