亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

IIS真正能用的ISAPI-Rewrite防盜鏈規則寫法

添加時間:2011-3-31  添加: admin 

近來小站遇到了盜鏈問題,至使網站的流量枉費流失,于是被迫準備為服務器安裝防盜鏈機制以挽救本就不寬裕的帶寬。通過G.CN和B.CN搜索后得出了幾種不同的方案,例如網站程序的URL偽裝法、服務器端的收費插件法和ISAPI-REWRITE的規則過濾法等,考慮自身網站結構和錢包的困難問題,最終選擇了后者,即現在流行用來做偽靜態的ISAPI Rewrite書寫規則來實現我的防盜鏈“夢想”。
為什么說是夢想呢?首先表示惋惜,懶人我搜來了一大票經過無數次轉載而來的文章,把現呈的代碼應用后發現要么根本不起作用,要么就是效果達不到我想要的,幾經周折后終于把這原本認為可以輕易借鑒照搬的防盜鏈給完成了,恨那些只會轉載和偽原創的站長們,自己也不試試就拿來填充,害了多少人浪費了大把的時間。
經過惡補正則表達式相關教程并對前輩們留下的規則進行修改后,以下ISAPI Rewrite已經在我的服務器上正常運作。
經測試四種情況正常,即站內鏈接正常,白名單里的鏈接正常,盜鏈者鏈接屏蔽,搜索引擎鏈接正常。
詳細如下;
一、完全屏蔽所有盜鏈來源的寫法(如已有其它規則,則置于已有規則的上面)
 RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\1.*).*
RewriteRule .*\.(?:gif|jpg|jpeg|png|bmp) /block.gif [I,O,N]
 
老板,來個小解:
第一行通過RewriteCond的HOST定義其下的規則所適用的請求主機范圍。
第二行通過RewriteCond的Referer定義規則適用的請求來源地址,我們都知道任何通過互聯網方式訪問網站都會留下Referer的痕跡,就好像我們在IIS日志里看到的一樣。這里的(?!http://\1.*).*意思就是判斷所有通過http協義發來的請求,都要應用規則。
第三行通過RewriteRule定義防盜鏈文件的后綴,這里僅是圖片后綴,需要的可以添加mp3,rar等其它所有后綴。后面的/block.gif表示如果遇上這些后綴的文件被盜鏈后的轉向,這里轉向/根目錄的block.gif,可以是HTML等任何文件。如果只想某個文件夾下面的文件不被盜鏈,只需要加上路徑就可以。例如不想images和pic目錄下的文件被盜,但其它可以。就要改寫成:
RewriteRule (/images/|/pic/).*\.(?:gif|jpg|jpeg|png|bmp) /block.gif [I,O,N]
這種情況主要是有些站長在別人友情鏈接里的圖片地址是在自己這的。
最后面的[I,O,N],I表示不區分大小寫,O表示對URL進行標準化,可能是用來處理Unicode編碼的地址(例如包含中文的URL)以及QueryString的內容,N表示重新從站點請求文件而不是從本地緩存讀取文件,目的是防止當用戶訪問了盜你鏈的網站后,再回到你的網站也出現盜鏈提示。
提示,由于此規則是通過Referer來獲取帶有http://字樣的地址進行過濾,因此它無法防范其它協議的盜鏈,比如迅雷下載。但通過任何瀏覽器直接訪問,只要是HTTP協義的,通殺。
以上關于RewriteCond和RewriteRule的作用僅是本人的土法理解,歡迎在這方面有專業研究的朋友在評論中指正,以免誤導,另外如果遇到isapi-rewrite版本問題,只要保證后面的正則式寫法正確就行。
二、排除性防盜鏈寫法
 RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\1.*).*
RewriteCond Referer: (?!http://(.*)(\.baidu\.com|\.google\.com|\.google\.cn|\.g\.cn|\.gougou\.com|\.soso\.com|\.sogou\.com|\.youdao\.com|\.bing\.com|\.yahoo\.com|\.yahoo\.cn|\.eojoo\.com)).*
RewriteRule .*\.(?:gif|jpg|jpeg|png|bmp) /block.gif [I,O,N]
 
老板,來個小解:
第一行同上
第二行同上
第三行通過正則表達式對第二行中的請求協義地址進行過濾,這里按上面的寫法,過濾了所有流行的搜索引擎,當然也包括你自己的站,或是你同臺服務器其它的站。每個不同的域名寫法是\.baidu\.com,多個有|號相隔。如果是IP則這樣寫100\.100\.100\.100
第四行同上
這樣說明應該不難理解吧,直接拿去用,按著原有格式改。
規則中出現的正則表達式符號小解:
. 表示匹配除換行符以外的任意字符
+ 表示前面的字符可以出現一到任意多次
* 表示前面的字符可以出現零到任意多次
() 表示一個表達組,可以拿它和加減乘除法一起理解
?! 表示斷言這個符號后面的字符如果出現則不再進行接下去的匹配
\ 表示轉義符號,比如網址中的.是規則內置的運算符號,要把它通過\轉義成字符。
| 表示或者,用于連接多種可能
通過以上這“亂七八糟”的符號,竟然組成了如此強大的規則,感嘆!

關健詞:ISAPI-Rewrite

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站