2007年5月29日 星期二

保護 .js 檔不被盜連

如同大家所知,在 HTML 檔中呼叫 .js 檔的語法有兩種:

一種是呼叫存放在主機內的 .js 檔,語法是

另一種是連結呼叫存放在不同主機內的 .js 檔到網頁中執行,語法和上述的相同,只是連結位址更改而已,


哇!我是不是有可能將盜連別人網站程式的語法寫出來了?搞不好本來有人不知道的,這下反而被包子提醒了;不過也可能有某些網站的程式早就被盜連,只是站長不知道而已。很多人要緊張擔心了,程式被盜連可能還不算太慘,糟糕的是因為被盜連而可能產生的大量傳輸,拖慢了網站瀏覽的速度。雖然 .js 檔平均來講不佔多少空間,其實沒有盜連的必要;但是當你覺得需要保障的時候,以下的語法就很重要了。

因為可以由其他網站呼叫你的 .js 程式,所以我們可以寫一段 JavaScript 插入在需要被保護的 .js 檔的最上方,設定哪一個或哪幾個網址可以直接連結你的 .js 程式,其他的不行。

讓我們來看看程式:
var accepted_domains=new Array("run.to/java168","kimo.com.tw")
//設定只有 run.to/java168 和 kimo.com.tw 這兩個網站可以直接連結這組程式
//你也可以改成"",表示不允許其他任何網站連結這組程式

var domaincheck=document.location.href //偵測瀏覽器目前的網頁位址
var accepted_ok=false

if (domaincheck.indexOf("http")!=-1){
for (r=0;r
if (domaincheck.indexOf(accepted_domains[r])!=-1){
accepted_ok=true
break
}
}
}
else
accepted_ok=true

if (!accepted_ok){
alert("此站站長未經允許擅自盜連這組程式!") //在該盜連網頁上跳出警告小視窗
history.back(-1) //強制回到前一頁
}

//以下才是原 .js 檔的程式內容開始

【下列文章您可能也有興趣】

沒有留言: