1. 程式人生 > >nginx圖片及目錄防盜鏈設置

nginx圖片及目錄防盜鏈設置

asc 代碼 方案 裏的 scrip 視頻 目錄 div 地址

一、常見防盜鏈解決方案的基本原理

1)、根據HTTP referer,使用URL格式表示是哪裏的鏈接用了當前網頁的資源,通過referer可以檢測訪問的來源網頁,如果是資源文件,可以跟蹤到顯示它的網頁地址,一旦檢測出來源不是本站,馬上進行阻止或返回指定的頁面。Http referer是header的一部分,當瀏覽器向Web服務器發送請求時,一般會帶上referer,告訴服務器我是從哪個頁面鏈接過來的,服務器借此獲得一些信息用於處理。Apache、Nginx、liGhttpd三者都支持根據Http referer實現防盜鏈,referer是目前網站圖片、附件、html等最常用的防盜鏈手段。下面是referer防盜鏈的基本原理圖。

技術分享圖片

2)根據cookie防盜鏈
對於一些特殊的業務數據,例如流媒體應用通過 ActiveX顯示的內容(例如,Fash、 Windows media視頻、流媒體的RTSP協議等),因為它們不向服務器提供 referer header,所以若采用上述的 referer的防盜鏈手段,就達不到想要的效果。
對於 Flash、 Windows media視頻這種占用流量較大的業務數據,防盜鏈是比較困難的,此時可以采用Cookie技術,解決 Flash、 Windowsmedia視頻等的防盜鏈問題。
例如: ActiveX插件不傳遞 referer,但會傳遞 Cookie,可以在顯示 ActiveX的頁面的<head></head>標簽內嵌入一段 JavaScript代碼,設置"Cookie:Cache=av"如下:

<script> document.cookie="Cache=av;domain=domain.com;path=/";</script>

然後就可以通過各種手段來判斷這個Cookie的存在,以及驗證其值的操作了。

nginx圖片及目錄防盜鏈設置