查看單個文章
舊 2006-09-02, 06:27 AM   #2 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

IIS網站防盜鏈下載的解決方案  「盜鏈」的定義是:此內容不在自己服務器上,而通過技術手段,繞過別人放廣告有利益的最終頁,直接在自己的有廣告有利益的網頁面上向最終用戶提供此內容。 常常是一些名不見經傳的小網站來盜取一些有實力的大網站的位址(比如一些音樂、圖片、軟件的下載位址)然後放置在自己的網站中,通過這種方法盜取大網站的空間和流量。

  為什麼會產生盜鏈

  一般瀏覽有一個重要的現象就是一個完整的網頁面並不是一次全部傳送到客戶端的。如果請求的是一個帶有許多圖片和其它訊息的網頁面,那麼最先的一個Http請求被傳送回來的是這個網頁面的文本,然後通過客戶端的瀏覽器對這段文本的解釋執行,發現其中還有圖片,那麼客戶端的瀏覽器會再發送一條Http請求,當這個請求被處理後那麼這個圖片文件會被傳送到客戶端,然後瀏覽器回將圖片安放到網頁面的正確位置,就這樣一個完整的網頁面也許要經過發送多條Http請求才能夠被完整的顯示。基於這樣的機制,就會產生一個問題,那就是盜鏈問題:就是一個網站中如果沒有起網頁面中所說的訊息,例如圖片訊息,那麼它完全可以將這個圖片的連接到別的網站。這樣沒有任何資源的網站利用了別的網站的資源來展示給瀏覽者,提高了自己的訪問量,而大部分瀏覽者又不會很容易地發現,這樣顯然,對於那個被利用了資源的網站是不公平的。一些不良網站為了不增加成本而擴充自己站點內容,經常盜用其他網站的鏈接。一方面損害了原網站的合法利益,另一方面又加重了服務器的負擔。

  我遇到的盜鏈

  我的網站遇到最多的是兩類盜鏈,一是圖片盜鏈,二是文件盜鏈。曾經有一個訪問量極大的網站盜鏈我網站的圖片,一天竟然消耗了數G的流量。同時,我站放的不少幾十兆的大型軟件也常遭到文件盜鏈,大量消耗我站資源。

  盜鏈的解決方案

  其實通過WEB服務器的URL過濾技術,這個傷腦筋的問題會很容易得到解決。

  如果WEB服務器用的是APACHE的話,那麼使用APACHE自帶的Url Rewrite功能可以很輕鬆地防止各種盜鏈,其原理是檢查REFER,如果REFER的訊息來自其他網站則禁止訪問所需要的資源。

  那麼,IIS支持UrlRewrite嗎?

  答案很簡單,不支持。但是我們可以通過安裝第三方服務器擴展讓IIS支持。

  目前有一種產品能比較好地支持IIS的UrlRewrite,名字叫ISAPI_Rewrite。

  下載位址在: http://www.helicontech.com/download/

  這裡只有ISAPI Rewrite的一個LITE版本是免費的,其它都是trial版本。ISAPI Rewrite Lite的版本功能不支持虛擬站點配置,元資料監測和自動快取記憶體清理。 但是基本的UrlRewrite功能都支持。

  如何進行UrlRewrite的設置?

  isapi_rewrite利用正則表達式進行替換規則的表示。

  下面是一個簡單的例子,我想讓我們的用戶輸入 http://localhost/test-12314.html 實際上訪問的是 http://localhost/test.asp?id=12314 。那麼我們的匹配表達式應該是 /test-([0-9]*).html 對應的格式化表達式應該為 /test.asp\?id=$1 。

  進行正則表達式的編寫的時候,可以利用isapi_rewrite提供的正則表達式測試工具(預定安裝提供),進行除錯。做好了匹配表達式和格式化表達式,我們可以把它們放到安裝目錄下的httpd.ini裡面。文件儲存後,不需重新啟動iis即可生效。

  對於我的網站,我防盜鏈的方法是在httpd.ini裡面加入如下語句

RewriteCond Host: (.+)

RewriteCond Referer: (?!http://\1.*).*

RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]

  然後重啟IIS,這時防盜鏈就開始起作用了,其他網站盜鏈過來的請求都會被拒絕。

  至此,我也終於可以擺脫了被盜鏈的煩惱了。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
向 psac 送花的會員:
longlie (2007-10-21)
感謝您發表一篇好文章