在Nginx上配置圖片防盜鏈非常簡單,通過使用者客戶端http請求頭中的Referer資訊來做為主要判斷,如果圖片連結巢狀在非指定的網站上,可以限制其訪問。

主要配置程式碼如下:

  1. location ~*.(gif|jpg|jpeg|png|bmp|swf)$ { 
  2.  valid_referers none blocked *.yourname.com; 
  3.  if ($invalid_referer) { 
  4.  rewrite ^/ http://youname.com/error.html; 
  5.  #return 403; 

以上程式碼解釋如下:

1、location中指定要防篡改的檔案型別;

2、valid_referers指定資源訪問是通過以下幾種方式為合法

none:直接通過url訪問,無referer值的情況

blocked:referer值被防火牆修改

servername:指定資源在合法的url中可以被引用,支援*萬用字元

3、if判斷如果使用者請求的資源不符合上述配置,那麼rewrite重定向到你想指定的url上,也可以配置403許可權錯誤。

通過上述配置可以避免網站大部分資源盜鏈的情況。