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

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

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

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

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

關(guān)健詞:ISAPI-Rewrite

分享到:

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