簡單介紹下功能吧:使用了ASP的一個對象ServerVariables(服務器環境變量),通過這個環境變量可以獲取到真正的下載地址再通過一些簡單的內置函數破壞其真正地址的完整性。達到欺騙下載軟件的功能。現附上源碼提供大家學習。
複製代碼 代碼如下:
<% FunctIon DownloadFIle(StrFIle)
StrFIlename=StrFIle
er=True
r
Set S=teObJect("am")
=1
on Error Resume Next
Set Fso=teObJect("SystemObJect")
If Not Exists(StrFIleName) Then
From_Url=Cstr(erVarIables("HTTP_REFERER"))
Serv_Url=Cstr(erVarIables("SERVER_NAME"))
If MId(From_Url,8,len(Serv_Url)) <> Serv_Url Then
e "該文件不存在或者已經刪除."
End If
rect erVarIables("HTTP_REFERER")
End If
FileExt=MId(StrFIlename,InStrRev(StrFIleName, ".")+1)
Select Case UCase(FIleExt)
Case "ASP", "ASA", "ASPX", "ASAX", "MDB", "PHP", "JSP", "SHTML", "HTML", "HTM", "TV", "DATA"
From_Url=Cstr(erVarIables("HTTP_REFERER"))
Serv_Url=Cstr(erVarIables("SERVER_NAME"))
If MId(From_Url,8,len(Serv_Url)) <> Serv_Url Then
e "該文件不存在或者已經刪除."
End If
rect erVarIables("HTTP_REFERER")
End Select
Set F=Ile(StrFIlename)
IntFIlelength=
FromFIle(StrFIlename)
If Err Then
From_Url=Cstr(erVarIables("HTTP_REFERER"))
Serv_Url=Cstr(erVarIables("SERVER_NAME"))
If MId(From_Url,8,len(Serv_Url)) <> Serv_Url Then
e "該文件數據不完整或許已損壞."
End If
rect erVarIables("HTTP_REFERER")
End If
Set Upload=teObJect("ad")
If Upload Is Nothing Then
eader "Content-DIsposItIon","attachment; FIlename="&
eader "Content-Length",IntFilelength
Set="UTF-8"
entType="application/x-download"
ryWrite
h
e
Set s=NothIng
Else
Binary StrFIlename,True,"application/x-download",False
End If
End FunctIon
%>
使用:<%call>。