目录
一、防盗链概述
- 防盗链是防止别人的网站代码里面盗用我们自己服务器上的图片、文件、视频等相关资源。
- 如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力。
- 作为网站的维护人员,要杜绝服务器的静态资源被其他网站盗用。
二、盗链模拟
2.1 模拟步骤
1、两台主机配置开启Apache服务,配置主页面,一台模拟官方网站,一台模拟盗链网站。
2、盗链网站的测试页面,盗用源主机网站目录下的一个jin.jpg 文件
3、在另一台windows主机中访问验证
4、 配置防盗链
5、 windows主机再验证
2.2 官方网站配置
2.2.1 准备三个压缩包
apr-1.6.2.tar
apr-util-1.6.0.tar
httpd-2.4.29.tar
2.2.2 安装Apache服务
[root@localhost ~]# yum install zlib-devel -y
[root@localhost ~]# yum -y install gcc gcc-c++ make pcre-devel expat-devel perl
[root@localhost ~]# tar zxvf apr-1.6.2.tar.gz
[root@localhost ~]#tar zxvf apr-util-1.6.0.tar.gz
[root@localhost ~]#tar jxvf httpd-2.4.29.tar.bz2
[root@localhost ~]#mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost ~]#mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[root@localhost ~]#cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# ./configure \
--prefix=/usr/local/httpd \
--enable-deflate \ ## 开启压缩功能
--enable-expires \ ## 开启缓存功能
--enable-so \ ## so 开启核心功能模块和web 服务
--enable-rewrite \ ## rewrite 开启重写功能(防盗链使用)
--enable-charset-lite \
--enable-cgi
[root@localhost httpd-2.4.29]# make && make install
2.2.3 优化Apache配置
[root@localhost conf]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd ## 将http的配置文件做软链接到/etc/httpd.conf
[root@localhost conf]# vim httpd.conf
Listen 192.168.233.140:80
ServerName www.kgc.com:80
[root@promote /]# ln -s /usr/local/httpd//bin/* /usr/local/bin //将http的命令软链接到/usr/local/bin目录中
[root@localhost ~]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# ls
error.png index.html jin.jpg
<html><body><h1>It works!</h1></body></html>
<img src="jin.jpg"/>
2.2.4 安装 配置NDS服务器
[root@localhost /]# yum -y install bind
[root@localhost /]# vim /etc/named.conf
listen-on port 53 { any; };
allow-query { any; };
[root@localhost /]#vim /etc/named.rfc1912.zones
zone "kgc.com" IN {
type master;
file "kgc.com.zone";
allow-update { none; };
[root@localhost /]# cd /var/named/
[root@localhost named]# cp -p named.localhost kgc.com.zone
[root@localhost named]# vim kgc.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
www IN A 192.168.233.140
2.2.5 启动Apache和DNS解析服务
[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce 0
[root@localhost ~]# cd /usr/local/httpd/bin/
[root@localhost bin]# ./apachect
2.3 盗链网站配置
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# vim /var/www/html/index.html
<h1>this is test <h1/>
<img src="http://www.kgc.com/jin.jpg"/>
2.3.1 开启服务
[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl start httpd
三、 未开启盗链 测试
- 访问官方网站
- 访问盗链网站
四、开启防盗链 测试
[root@localhost httpd]# vim /usr/local/httpd/conf/httpd.conf
<Directory "/usr/local/httpd/htdocs">
AllowOverride None
Require all granted
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://kgc.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://kgc.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.kgc.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.kgc.com/$ [NC]
RewriteRule .*\.(gif|jpg|swf)$ http://www.kgc.com/error.png
</Directory>
[root@localhost httpd]# cd /usr/local/httpd/bin/
[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start
[root@localhost bin]#
- 访问官方网站
- 访问盗链网站