apache2.0.54防止盗连接
作者:修理工
要让apache防盗连接,首先要让apache支持.htaccess客户设置文件,还要增加mod_rewrite模块。以下是我的编译安装过程。
1. 安装apache增加mod_rewrite模块
tar xfzv httpd-2.0.54.tar.gz
cd httpd-2.0.54
./configure --prefix=/usr/local/httpd --enable-module=most --enable-shared=max --enable-rewrite
--enable-rewrite将od_rewrite模块编译进来
make
make install
查看apache编译进来的模块
[root@TFP httpd-2.0.54]# /usr/local/httpd/bin/apachectl -l
Compiled in modules:
core.c
mod_access.c //支持.htaccess文件
mod_auth.c
mod_include.c
mod_log_config.c
mod_env.c
mod_setenvif.c
prefork.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgi.c
mod_negotiation.c
mod_dir.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_rewrite.c //已经将od_rewrite编译进来了
mod_so.c
[root@TFP httpd-2.0.54]#
2.设置apache配置文件httpd.conf
<Directory />;
Options FollowSymLinks
AllowOverride All 将None修改为All
</Directory>;
AllowOverride All 将None修改为All
修改默认APACHE名去掉#ServerName前的#设置为127.0.0.1
ServerName 127.0.0.1
设置虚拟主机
NameVirtualHost 220.202.19.82
<VirtualHost 220.202.19.82>;
DocumentRoot /home/down
ServerName down.sy165.cn
</VirtualHost>;
重启Apache2服务器
接下就是做一个 .htaccess 文件了,其 .htaccess 文件内容为
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://www.sy165.cn/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.sy165.cn$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$ http://www.sy165.cn/err.htm [R,NC]
将这个文件放到/home/down目录下
RewriteCond %{HTTP_REFERER} !^http://www.sy165.cn/.*$ [NC]
只允许通过www.sy165.cn/*才能下载down.sy165.cn下的文件。
RewriteCond %{HTTP_REFERER} !^http://www.sy165.cn$ [NC]
只允许通过www.sy165.cn才能下载down.sy165.cn下的文件
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$ http://www.sy165.cn/err.htm [R,NC]
jpg|jpeg|gif|png|bmp|rar|zip|exe是要保护的内容,如果岛连接将跳转到http://www.sy165.cn/err.htm
测试地址可以通过http://www.sy165.cn下载CS1.6 标准版3147版下载
不能直接通过URL:http://down.sy165.cn/game/CS_16_3174.exe 下载
haoyufu 回复于:2005-08-10 15:19:08
兄弟写的不错
希望多多交流
linuxchen 回复于:2005-08-10 18:02:29
辛苦啦~~ 好文章,顶一个~~
shdx 回复于:2005-08-12 18:45:15
上海服务器租用、托管(上海电信机房)、虚拟主机、域名注册、企业邮局、DDN专线等。上海正规IDC公司——上海电枭网络科技有限公司
上海电枭网络提供以主机托管,主机租用的全方位互联网服务!提供诸如、电影下载、音乐网站、网络游戏、视频聊天室、网络社区、企业邮局、虚拟主机等多种服务器的租用、托管,技术支持等等……
[url=http://wpa.qq.com/msgrd?V=1&Uin=469613235&Site=yk.jhisp.com/bbs/&Menu=yes]点击这里即时与我QQ联系
联系方式:
客服QQ:469613235 或 86221118 MSN/Email:shdx@datasupermarket.com
电话:021-58627258转20 汤立锋(先生) 传真:021-58627238
地址:上海外高桥季景路259弄17号602室
更多详情请登陆www.datasupermarket.com上海电枭网络科技有限公司网站 www.shujuchaoshi.com数据超市
wwy 回复于:2005-08-13 23:15:41
: )
wget --referer=http://www.sy165.cn http://down.sy165.cn/game/CS_16_3174.exe
钟钟. 回复于:2005-08-13 23:41:03
其实在配置文件里直接加入如下配置应该就可以了吧:
<Directory /home/down>;
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://www.sy165.cn(/.*)?$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$ http://www.sy165.cn/err.htm [R,NC]
</Directory>;
我没试,应该是可以的。
一个就是可以直接写到Directory里,我的apache的.htaccess项都关掉了,不然多少会慢一些的。另外就是条件里的正则合并一下就成了。
jhsea3do 回复于:2005-08-14 00:36:19
引用:原帖由 "wwy"] 发表:
人家的目的也就是防止一般盗链,你这种比较特殊
echo52 回复于:2005-08-16 10:13:20
问一下,如果模块加载不指定为share的话,是不是在modules目录下看不到so文件?那么模块文件在哪里?
andysibyl1 回复于:2006-04-21 09:14:46
挺实用的
|