2015-12-24 101 views
1

我在Windows Server 2012 R2上使用Nginx 1.8。我在網站上發佈實時股票圖表軟件捕捉。我只使用基本的html。 我的目標是停止圖像上的盜鏈,並停止下載它們。 我試過IIS以及Apache不能停止盜鏈。 我已經嘗試下面的代碼來停止盜鏈並取得成功。nginx拒絕下載和盜鏈圖片

location ~ .(jpg|jpeg|png|gif)$ { 
    valid_referers blocked example.com www.example.com; 
    if ($invalid_referer) { 
     rewrite (.*)\.(jpg|jpeg|png|gif)$ http://abc.example.com/banned-stamp-clipart.png; 
    } 
} 
location /html/images/ { 

    ## drop rest of the world 
    deny all; 
} 

但是如何阻止從下載管理器,如IDM下載圖像,與路徑例如http://www.example.com/images/abc.png

回答

1

不能防止圖像被下載,因爲在瀏覽器中顯示他們,他們需要下載,如果用戶決定下載 - 無論如何他/她會這樣做,或者只是截圖。

你只能做得更難。例如 - 使用X-Accel-Redirect與服務器端腳本,該腳本爲圖像查看發出一次性令牌,這些令牌在html命中時生成,並且在圖像由瀏覽器下載時(也在那裏檢查引用者)到期。

鏡像可以分割成幾個部分,這樣就更難用「原樣」(但也更難youself處理)

此外,他們可以從瀏覽器緩存中獲取,您可以嘗試添加no-cache標頭,但它不是一個好主意。