盜鏈的解決方案

其實通過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,這時防盜鏈就開始起作用了,其他網站盜鏈過來的請求都會被拒絕。

至此,我也終於可以擺脫了被盜鏈的煩惱了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章