什麼是盜鏈
盜鏈是指在自己的頁面上展示一些並不在自己服務器上的內容。通常的做法是通過技術手段獲得它人服務器上的資源地址,
繞過別人的資源展示頁面,直接在自己的頁面上向最終用戶提供此內容。
比較常見的是一些小站盜用大站的資源(圖片、音樂、視頻),
對於這些小站來說,通過盜鏈的方法可以減輕自己服務器的負擔,因爲真實的空間和流量均是來自別人的服務器。
對大站造成的影響確實徒徒增加了服務器壓力,用戶、流量還不是自己的。
下面使用兩臺服務器來模擬這種情況
172.16.16.6 www.wawa.com 是正常的網站
172.16.16.6 www.wawawa.com 是盜鏈被阻止後跳轉的網站
172.16.16.16 www.aaa.com 是盜鏈網站
本次實驗需要基於Apache的虛擬主機和DNS這裏就不介紹了。
先來看看不做防盜鏈是什麼效果
首先配置172.16.16.6 www.wawa.com 正常主機的圖片網站和阻止跳轉網站
一樣首先修改主配置文件 vim /etc/httpd/conf/httpd.conf 添加虛擬主機 和監聽80端口
再來就是配置盜鏈網站172.16.16.16 www.aaa.com
弄好了服務器的配置就來驗證網站的效果
正常網站
盜鏈網站 爲了區分於正常網站,網站的文字稍作改變作爲區分
阻止網站
可以看到除了我修改的文字不同之外圖片什麼的無需配置直接就可以顯示在盜鏈的網站上,這種情況肯定是要阻止的
下面來配置防盜鏈
使用yum 安裝的肯定是有這個模塊的 不放心的可以檢查一下
[root@localhost 20]# cd /etc/httpd/
[root@localhost httpd]# apachectl -D DUMP_MODULES | grep expires
修改剛纔的虛擬主機的文件 vim /etc/httpd/conf/httpd.conf 把下面紅字添加在正常服務的</VirtualHost>前
<VirtualHost 172.16.16.6>
DocumentRoot /opt/www/10
ServerName www.wawa.com
<Directory /opt/www/10 >
AllowOverride None
Require all granted
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://172.16.16.6/*
RewriteCond %{HTTP_REFERER} !^http://wawa.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://wawa.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.wawa.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.wawa.com$ [NC]
RewriteRule .*\.(gif|jpg|swf|png)$ http://www.wawawa.com/error.jpg [R,NC]
</Directory>
</VirtualHost>
下面來訪問盜鏈網站來看看結果
到此,防盜鏈就算成功了。