apache配置防盜鏈

   配置防盜鏈,我們就必須先理解盜鏈的實現原理,在HTTP協議中,有一個表頭字段叫referer,採用URL的格式來表示從哪兒鏈接到當前的網頁或文件。換句話說,通過referer,網站可以檢測目標網頁訪問的來源網頁,如果是資源文件,則可以跟蹤到顯示它的網頁地址。有了referer跟蹤來源就好辦了,這時就可以通過技術手段來進行處理,一旦檢測到來源不是本站即進行阻止或者返回指定的頁面。 

  在apache虛擬主機配置文件加入以下代碼:

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf


SetEnvIfNoCaseReferer ".*\.1\.com" local_ref

SetEnvIfNoCaseReferer ".*\.a\.com" local_ref

SetEnvIfNoCaseReferer ".*\.b\.com" local_ref

SetEnvIfNoCaseReferer "^$" local_ref

<filesmatch"\.(txt|doc|mp3|zip|rar|jpg|gif)">

OrderAllow,Deny

Allowfrom env=local_ref

</filesmatch>

 

 

檢測:使用curl -e來看referer是否生效

# curl -uaming:123456 -e "http://www.baidu.com/asdasdas/asdasd.php"-x127.0.0.1:80 www.1.com/1.txt -I

HTTP/1.1 403 Forbidden

Date:Tue, 09 Jun 2015 14:15:17 GMT

Server:Apache/2.4.12 (Unix) PHP/5.5.5

Content-Type:text/html; charset=iso-8859-1

 

[root@linux-lampapache2]# curl -u aming:123456 -e "http://www.a.com/aaa" -x127.0.0.1:80www.1.com/1.txt -I

HTTP/1.1 200 OK

Date:Tue, 09 Jun 2015 14:15:47 GMT

Server:Apache/2.4.12 (Unix) PHP/5.5.5

Last-Modified:Tue, 09 Jun 2015 13:49:38 GMT

ETag:"b-51816078dfa72"

Accept-Ranges:bytes

Content-Length:11

Cache-Control:max-age=0

Expires:Tue, 09 Jun 2015 14:15:47 GMT

Content-Type:text/plain

referer引用頁是referer所指定的地址之外都會被排除.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章