防盜鏈接ASP函數實現代碼

簡單介紹下功能吧:使用了ASP的一個對象ServerVariables(服務環境變量),通過這個環境變量可以獲取到真正的下載地址再通過一些簡單的內置函數破壞其真正地址的完整性。達到欺騙下載軟件的功能。現附上源碼提供大家學習。

防盜鏈接ASP函數實現代碼

複製代碼 代碼如下:

<% 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>。