預防措施
1、不定期更名檔案或者目錄
不定期的更改檔案或者目錄的名稱,是最原始的反盜鏈的方式,可以比較有效地防止盜連,這種方法一般工作量比較大。但是批量的檔案改名是完全可以自動化的,而且也比較容易實現。在檔案的更名過程中, 可能會有客戶正在下載該檔案,這樣會導致正常的客戶訪問失敗,儘管這個問題容易解決,但是也不能夠忽視。
2、限制引用頁
這種防盜鏈原理是,伺服器獲取用戶提交信息的網站地址,然後和真正的服務端的地址相比較,如果一致則表明是站內提交,或者為自己信任的站點提交,否則視為盜鏈。實現時可以使用HTTP_REFERER1 和htaccess 檔案(需要啟用mod_Rewrite),結合正則表達式去匹配用戶的每一個訪問請求。對於每一個HTTP 請求, 伺服器都要查找.htaccess 檔案,增加了讀取檔案的次數,一定程度上降低了性能。另外,伺服器打開這個功能,有比較多的限制。
3、檔案偽裝
檔案偽裝是目前用得最多的一種反盜鏈技術,一般會結合伺服器端動態腳本(PHP/JSP/ASP)。實際上用戶請求的檔案地址,只是一個經過偽裝的腳本檔案,這個腳本檔案會對用戶的請求作認證,一般會檢查Session,Cookie 或HTTP_REFERER 作為判斷是否為盜鏈的依據。而真實的檔案實際隱藏在用戶不能夠訪問的地方,只有用戶通過驗證以後才會返回給用戶。
4、加密認證
這種反盜鏈方式,先從客戶端獲取用戶信息,然後根據這個信息和用戶請求的檔案名稱字一起加密成字元串(Session ID)作為身份驗證。只有當認證成功以後,服務端才會把用戶需要的檔案傳送給客戶。一般我們會把加密的Session ID 作為URL 參數的一部分傳遞給伺服器,由於這個Session ID 和用戶的信息掛鈎,所以別人就算是盜取了連結,該Session ID 也無法通過身份認證,從而達到反盜鏈的目的。這種方式對於分散式盜鏈非常有效。
5、隨機附加碼
每次,在頁面里生成一個附加碼,並存在資料庫里,和對應的圖片相關,訪問圖片時和此附加碼對比,相同則輸出圖片,否則輸出404圖片
其它措施
其它反盜鏈方式也有不少, 這裡只列出一個大概思想作為參考:⑴ IIS 反盜鏈, 利用ISAPI_Rewrite,可作為Windows下反盜鏈的一個解決方案;⑵ 圖片反盜鏈,在圖片中加入水印,雖然盜鏈者可以達到目的,但是卻也在為自己的網站做宣傳。