防盜鏈原理

引子:明明引用了一個正確的圖片地址,但顯示出來的卻是一個紅叉或寫有“此圖片僅限於***網站用戶交流溝通使用”之類的“假圖片”(下圖便是網易博客的防盜鏈效果)。用嗅探軟件找到了多媒體資源的真實地址用下載軟件仍然不能下載。下載一些資源時總是出錯,如果確認地址沒錯的話,大多數情況都是遇上防盜鏈系統了。常見的防盜鏈系統,一般使用在圖片、音視頻、軟件等相關的資源上。
        一、什麼是防盜鏈系統
        在確保地址正確的情況下,不能下載相應的資源,均是受到防盜鏈系統的影響,那麼究竟什麼是防盜鏈系統呢?防盜鏈自然就是防範盜鏈,所以這裏先說一下什麼是盜鏈。
        盜鏈是指在自己的頁面上展示一些並不在自己服務器上的內容。通常的做法是通過技術手段獲得它人服務器上的資源地址,繞過別人的資源展示頁面,直接在自己的頁面上向最終用戶提供此內容。比較常見的是一些小站盜用大站的資源(圖片、音樂、視頻、軟件等),對於這些小站來說,通過盜鏈的方法可以減輕自己服務器的負擔,因爲真實的空間和流量均是來自別人的服務器。
        防盜鏈系統就是防範盜鏈的系統,防止別人通過一些技術手段繞過本站的資源展示頁面,盜用本站的資源,讓繞開本站資源展示頁面的資源鏈接失效。實施防盜鏈系統後,因爲屏蔽了那些盜鏈的間接資源請求,從而可以大大減輕服務器及帶寬的壓力,也正如此,越來越多的站點都開始實施防盜鏈技術。
        二、窺視防盜鏈
        現在大家應該知道了爲什麼有真實地址仍然不能下載,這就是防盜鏈的作用。凡事必有因果,爲什麼可以防盜鏈呢,其實現原理是什麼?防盜鏈又是如何實現的呢?
        提到防盜鏈的實現原理就不得不從HTTP協議說起,在HTTP協議中,有一個表頭字段叫referer,採用URL的格式來表示從哪兒鏈接到當前的網頁或文件。換句話說,通過referer,網站可以檢測目標網頁訪問的來源網頁,如果是資源文件,則可以跟蹤到顯示它的網頁地址。有了referer跟蹤來源就好辦了,這時就可以通過技術手段來進行處理,一旦檢測到來源不是本站即進行阻止或者返回指定的頁面。
如果想對自己的網站進行防盜鏈保護,則需要針對不同的情況進行區別對待。如果網站服務器用的是apache,那麼使用apache自帶的Url Rewrite功能可以很輕鬆地防止各種盜鏈,其原理是檢查refer,如果refer的信息來自其他網站則重定向到指定圖片或網頁上。
        如果服務器使用的是IIS的話,則需要通過第三方插件來實現防盜鏈功能了,現在比較常用的一款產品叫做ISAPI_Rewrite,可以實現類似於apache的防盜鏈功能。另外對於論壇來說還可以使用“登錄驗證”的方法進行防盜鏈。
        三、以子之予攻子之盾,防盜鏈的破解
        儘管防盜鏈技術越來越成熟,破解相對來說難度較大,但在瞭解原理之後,大多都可以針對其防範的原理入手進行破解。
        對於圖片防盜鏈,已經有人給出了詳細的破解代碼,對應的代碼頁面筆者已上傳到筆者以前的個人博客空間中,在轉發圖片時,在圖片地址前面加上“http://www.z7z8.com.cn/old/pic.asp?url=”地址即可解決圖片防盜鏈問題。如果有自己的網站空間可以直接從http://www.z7z8.com.cn/old/pic.zip下載,解壓後上傳到自己的空間中,轉貼時在圖片地址前面加上“域名/路徑/pic.asp?url=”即可。
對於文件資源的防盜鏈,可以通過人爲的加上引用頁的方法來解決不能下載的問題,如獲得http://www.z7z8.com.cn/old/pic.zip這一地址,下載時發現採用了防盜鏈技術,這時可以在新建下載任務時人爲添加“引用頁:”。因爲絕大多數防盜鏈只是判斷引用頁是不是本站,所以這一方法可以突破防盜鏈進行下載,但不是所有情況下均有效。
        默認情況下,迅雷的新建任務對話框中是沒有“引用頁”項的,需要在迅雷中執行“工具→配置”,在打開的“配置面板”對話框中,在“任務默認屬性”標籤中,勾選“新建面板顯示引用頁”複選框即可。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章