要讓apache防盜連接,首先要讓apache支持.htaccess客戶設(shè)置文件,還要增加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.設(shè)置apache設(shè)置文件httpd.conf
Options FollowSymLinks
AllowOverride All 將None修改為All
AllowOverride All 將None修改為All
修改默認APACHE名去掉#ServerName前的#設(shè)置為127.0.0.1
ServerName 127.0.0.1
設(shè)置虛擬主機
NameVirtualHost IP地址
DocumentRoot /home/down
ServerName down.域名
重啟Apache2服務器
接下就是做一個 .htaccess 文件了,其 .htaccess 文件內(nèi)容為
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是要保護的內(nèi)容,如果導連接將跳轉(zhuǎn)到http://www.域名/err.htm