nginx系統真正有效的圖片防盜鏈完整設置詳解

關於nginx防盜鏈的方法網上有很多教程,都可以用,但是我發現很多教程並不完整,所做的防盜鏈並不是真正的徹底的防盜鏈!

一般,我們做好防盜鏈之後其他網站盜鏈的本站圖片就會全部失效無法顯示,但是您如果通過瀏覽器直接輸入圖片地址,仍然會顯示圖片,仍然可以右鍵圖片另存爲下載文件!

依然可以下載?這樣就不是徹底的防盜了!那麼,nginx應該怎麼樣徹底地實現真正意義上的防盜鏈呢?

首先,我們來看下nginx如何設置防盜鏈

如果您使用的是默認站點,也就是說,您的站點可以直接輸入服務器IP訪問的,使用root登錄,修改 /usr/local/nginx/conf/nginx.conf 這個配置文件。

如果您新建了站點,那麼修改/usr/local/nginx/conf/vhost/你的域名.conf 這個配置文件,找到:

[plain] view plain copy
  1. location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$  
  2. {  
  3.  expires      30d;  
  4. }  
把這一段刪掉,修改成:

[plain] view plain copy
  1. location ~* \.(gif|jpg|png|jpeg)$ {  
  2.     expires     30d;  
  3.         valid_referers none blocke *.hugao8.com www.hugao8.com m.hugao8.com *.baidu.com *.google.com;  
  4.     if ($invalid_referer) {  
  5.     rewrite ^/ http://ww4.sinaimg.cn/bmiddle/051bbed1gw1egjc4xl7srj20cm08aaa6.jpg;  
  6.     #return 404;  
  7.     }  
  8.     }  

第一行: location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

其中“gif|jpg|jpeg|png|bmp|swf”設置防盜鏈文件類型,自行修改,每個後綴用“|”符號分開!

第三行:valid_referers none blocked *.it300.com it300.com;

就是白名單,允許文件鏈出的域名白名單,自行修改成您的域名!*.it300.com這個指的是子域名,域名與域名之間使用空格隔開!

第五行:rewrite ^/ http://www.it300.com/static/images/404.jpg;

這個圖片是盜鏈返回的圖片,也就是替換盜鏈網站所有盜鏈的圖片。這個圖片要放在沒有設置防盜鏈的網站上,因爲防盜鏈的作用,這個圖片如果也放在防盜鏈網站上就會被當作防盜鏈顯示不出來了,盜鏈者的網站所盜鏈圖片會顯示X符號。

這樣設置差不多就可以起到防盜鏈作用了,上面說了,這樣並不是徹底地實現真正意義上的防盜鏈!

我們來看第三行:valid_referers none blocked *.it300.com it300.com;

valid_referers 裏多了“none blocked”

我們把“none blocked”刪掉,改成

valid_referers  *.it300.com it300.com;

 

nginx徹底地實現真正意義上的防盜鏈完整的代碼應該是這樣的:

[plain] view plain copy
  1. location ~* \.(gif|jpg|png|jpeg)$ {  
  2.     expires     30d;  
  3.     valid_referers *.hugao8.com www.hugao8.com m.hugao8.com *.baidu.com *.google.com;  
  4.     if ($invalid_referer) {  
  5.     rewrite ^/ http://ww4.sinaimg.cn/bmiddle/051bbed1gw1egjc4xl7srj20cm08aaa6.jpg;  
  6.     #return 404;  
  7.     }  
  8.     }  

這樣您在瀏覽器直接輸入圖片地址就不會再顯示圖片出來了,也不可能會再右鍵另存什麼的。

第五行:rewrite ^/ http://www.it300.com/static/images/404.jpg;

這個是給圖片防盜鏈設置的防盜鏈返回圖片,如果我們是文件需要防盜鏈下載,把第五行:

rewrite ^/ http://www.it300.com/static/images/404.jpg;

改成一個鏈接,可以是您主站的鏈接,比如把第五行改成:

rewrite ^/ http://www.it300.com;

這樣,當別人輸入文件下載地址,由於防盜鏈下載的作用就會跳轉到您設置的這個鏈接!

最後,配置文件設置完成別忘記重啓nginx生效!

http://www.it300.com/article-15345.html

http://www.wufangbo.com/nginx-fang-dao-lian/
發佈了68 篇原創文章 · 獲贊 0 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章