程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> asp下載防盜鏈代碼

asp下載防盜鏈代碼

編輯:關於ASP編程
asp下載防盜鏈代碼
第一種: 
終於對下載系統做了個防盜鏈措施,在下載的頁面頭部做了如下代碼,相關代碼如下:  
復制代碼 代碼如下:<%  
From_url = Cstr(Request.ServerVariables("HTTP_REFERER"))  
Serv_url = Cstr(Request.ServerVariables("SERVER_NAME"))  
if mid(From_url,8,len(Serv_url)) <> Serv_url and mid(From_url,8,len(Serv_url))<>"ITstudy.cn" and mid(From_url,8,len(Serv_url))<>"www.ITstudy.cn" then  
response.write "您下載的軟件來自IT學習網,請直接從主頁下載,謝謝<br>" '防止盜鏈  
response.write "<a href=http://www.ITstudy.cn>IT學習網http://www.ITstudy.cn</a>" '防止盜鏈  
response.end  
end if  
%> 
第二種:  
復制代碼 代碼如下:<%   
  '定義函數,用ADODB.Stream讀取二進制數據   
  Function ReadBinaryFile(FileName)   
   Const adTypeBinary = 1   
   Dim BinaryStream   
   Set BinaryStream = CreateObject("ADODB.Stream")   
   BinaryStream.Type = adTypeBinary   
   BinaryStream.Open   
   BinaryStream.LoadFromFile FileName   
   ReadBinaryFile = BinaryStream.Read   
  End Function   
  Response.AddHeader "Content-Disposition", "attachment;filename=2.gif"'文件名   
  Response.ContentType = "image/GIF" '設置(1)   
  response.Binarywrite ReadBinaryFile(server.mappath("2.gif"))'就是你讀取存在本地的文件,防止被  
別人知道真實路徑盜連的。   
  %>  
(1)下面的示例將 ContentType 屬性設置為其他的常見值。  
  text/HTML 這個就不說了  
  image/GIF gif圖片  
  image/JPEG jpg圖片  
  application/x-cdf cdf文檔  
  application/wma 就是西瓜哪個音樂類型了  
  具體可以參照 Web 浏覽器文檔或當前的 HTTP 規格說明  
  這樣再利用asp的儲存session,cookies,以及讀取HTTP頭等特殊功能就可以完全真正的實現防盜連,這裡 
沒有設置緩存,如果訪問量巨大,我想設置下就會更好吧。  
第三種: 
最簡單的用Active Server Pages防站外提交表單、跨站提交表單、防盜鏈…… 
方法:Request.SeverVariables("HTTP_REFERER") 
解釋:當某人通過鏈接到達當前頁,HTTP_REFERER 就保存了這個用戶的來源(來路) 
舉個例子,這個例子很簡單,只是拋磚引玉而已,大家可以增加更多的功能。 
如下,只有首先從“ http://www.ITstudy.cn”登陸才能看到文件內容。 
源碼:index.asp  
復制代碼 代碼如下:<html>  
<head><title>最簡單的用asp防盜鏈</title></head>  
<body>  
<%  
Option.Explicit  
Response.Buffer=Ture  
%>  
<%  
CheckUrl("http://ITstudy.cn/index.jsp")  
%>  
<%  
Function CheckUrl(url)  
 Dim Where:Where=Request.SeverVariables("HTTP_REFERER")  
 If Where=url Then  
  Call main()  
 Else  
  Response.write("很抱歉,您必須從"&url&"訪問才能進來!")  
 End if  
End Function  
%>  
<%  
Sub main()  
 Response.write("這兒是你要顯示的網頁內容")  
End sub  
%>  
</body>  
</html> 
該方法對防止盜鏈文章、站外提交表單、跨站提交表單還比較有效,對於軟件盜鏈比如.rar.zip.exe等倒沒什麼作用。 
不知各位讀者是否有好的主意,呵呵。  
還有一種方法就是用判斷服務器及上一頁的地址來完成。 
復制代碼 代碼如下:<%  
dim from, local  
from = request.ServerVariables("HTTP_REFERER")  
local = request.ServerVariables("SERVER_NAME")  
If mid(from, 8, local)<>Len(local) Then  
  response.write "不要從外部提交數據"  
else  
  call main()  
end if  
sub main()  
'你的主體內容  
end sub  
%> 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved