1. 程式人生 > >apache 下實現防盜鏈

apache 下實現防盜鏈

什麼是盜鏈

盜鏈是指在自己的頁面上展示一些並不在自己伺服器上的內容。通常的做法是通過技術手段獲得它人伺服器上的資源地址,

繞過別人的資源展示頁面,直接在自己的頁面上向終端使用者提供此內容。

比較常見的是一些小站盜用大站的資源(圖片、音樂、視訊),

對於這些小站來說,通過盜鏈的方法可以減輕自己伺服器的負擔,因為真實的空間和流量均是來自別人的伺服器。

對大站造成的影響確實徒徒增加了伺服器壓力,使用者、流量還不是自己的。

下面使用兩臺伺服器來模擬這種情況

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埠

image.png image.png

image.png image.png


再來就是配置盜鏈網站172.16.16.16 www.aaa.com

image.png

弄好了伺服器的配置就來驗證網站的效果

正常網站

image.png

盜鏈網站 為了區分於正常網站,網站的文字稍作改變作為區分

image.png

阻止網站

image.png

可以看到除了我修改的文字不同之外圖片什麼的無需配置直接就可以顯示在盜鏈的網站上,這種情況肯定是要阻止的

下面來配置防盜鏈

使用yum 安裝的肯定是有這個模組的 不放心的可以檢查一下

[[email protected] 20]# cd /etc/httpd/

[[email protected] httpd]# apachectl -D DUMP_MODULES | grep expires

image.png

修改剛才的虛擬主機的檔案 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>

image.png

下面來訪問盜鏈網站來看看結果

image.png

到此,防盜鏈就算成功了。