要让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
Options FollowSymLinks
AllowOverride All 将None修改为All
AllowOverride All 将None修改为All
修改默认APACHE名去掉#ServerName前的#设置为127.0.0.1
ServerName 127.0.0.1
设置虚拟主机
NameVirtualHost IP地址
DocumentRoot /home/down
ServerName down.域名
重启Apache2服务器
接下就是做一个 .htaccess 文件了,其 .htaccess 文件内容为
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://www.域名/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.域名$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$ http://www.域名/err.htm [R,NC]
将这个文件放到/home/down目录下
RewriteCond %{HTTP_REFERER} !^http://www.域名/.*$ [NC]
只允许通过www.域名/*才能下载down.域名下的文件。
RewriteCond %{HTTP_REFERER} !^http://www.域名$ [NC]
只允许通过www.域名才能下载down.域名下的文件
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$ http://www.域名/err.htm [R,NC]
jpg|jpeg|gif|png|bmp|rar|zip|exe是要保护的内容,如果导连接将跳转到http://www.域名/err.htm