DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX詳解 >> xmlhttp與防盜鏈
xmlhttp與防盜鏈
編輯:AJAX詳解     

我們可以用XMLhttp來讀取文件信息,然後轉移到客戶端,這樣可以隱藏文件的真實地址。從而起到一點點的防止盜鏈的作用。

在這個文件中,我們可以用很多方法來判斷用戶身份,包括來源的url,cookIE數據,甚至是ip標志等。

<%@ codepage=65001%>

<%

Response.Buffer=False

re_url = Lcase(Request.ServerVariables("HTTP_REFERER"))

'獲得來源頁面的url

mydomain = Lcase(Request.ServerVariables("SERVER_NAME"))

'獲得本頁面域名 也可以直接指定

if mid(re_url,8,len(mydoain)) <> mydomian then

response.write "URL wrong"

'or redirect

response.end()

end if

%>

//niceidea 簽名留念

這個是用的最多的防止盜鏈的方法,檢查鏈入的頁面是否是外地人,如果是外部鏈入,拒絕下載。

這裡更保險的辦法是利用cookIE驗證,就象通常的點擊廣告後才可以看到地址的方法一樣。

最好的辦法是裝一個防盜鏈軟件,ASP腳本比較是基於IIS的。<%

dim file_url,objXMLHTTP

file_url="http://localhost/11.rar"

'我們可以從數據庫中讀取軟件

Set objXMLHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP")

objXMLHttp.open "GET",file_url,false

objXmlHttp.send()If objXMLHTTP.Status<>"200" Then

response.write("file missing。")

else

Response.ContentType = "application/octet-stream"

Response.AddHeader "content-disposition", "attachment; filename=" & "11.rar"

Response.BinaryWrite objXMLHTTP.responseBody

End IfSet obiXMLHTTP=nothing

response.end()

%>這個辦法有明顯的弊端,它需要在服務器內部交換一次數據,從而加重了服務器的負擔,類似於開了一個暫時的代理;這裡最好設置response的緩沖屬性為false,IIS6.0的ASP緩存大小為4m,大的文件或者多個文件的緩沖很容易讓服務器當機。

不過它的好處是防止盜鏈,因為這裡沒有發送任何關於真實地址的信息到最終的客戶端。

更有效的使用途徑是解決某些站點的圖片防盜鏈功能.

例如網易相冊,就有防止跨域盜鏈的功能。

下面的文件:

<Html>

<body>

<img src="http://www.pushad.com/XrssFile/2006-12/6/2006126103122804.jpg"/>

<img src="getimg.ASP?imgsrc=http://www.pushad.com/XrssFile/2006-12/6/2006126103122804.jpg"/>

</body>

</Html>

然後另寫一個getimg.ASP

<%

response.buffer=True

dim file_url

file_url=request.querystring("imgsrc")

Set objXMLHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP")

objXMLHttp.open "GET",file_url,false

objXMLHttp.send()

Response.ContentType = "image/jepg"

Response.BinaryWrite objXMLHTTP.responseBody

set objXMLHTTP=nothing

%>

你會發現,第一張圖片是個×,第二張則正常。

在使用getimg.ASP的時候,注意你的IIS是否安裝了防盜鏈軟件,最好不要讓別人盜鏈了。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved