服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|JavaScript|易语言|

服务器之家 - 编程语言 - ASP教程 - ASP 隐藏下载地址及防盗链代码

ASP 隐藏下载地址及防盗链代码

2019-09-05 10:56asp之家 ASP教程

好多朋友做了下载站,但经常被盗链的严重,所以大家可以用这个方法隐藏真实下载地址。让别人无法看到具体的下载地址。

代码如下:


<% FunctIon DownloadFIle(StrFIle) 
StrFIlename=StrFIle 
Response.Buffer=True 
Response.Clear 
Set S=Server.CreateObJect("ADODB.Stream") 
S.Open 
S.Type=1 
on Error Resume Next 
Set Fso=Server.CreateObJect("ScrIptIng.FIleSystemObJect") 
If Not Fso.FIleExists(StrFIleName) Then 
From_Url=Cstr(Request.ServerVarIables("HTTP_REFERER")) 
Serv_Url=Cstr(Request.ServerVarIables("SERVER_NAME")) 
If MId(From_Url,8,len(Serv_Url)) <> Serv_Url Then 
Response.WrIte "该文件不存在或者已经删除." 
Response.End 
End If 
Response.RedIrect Request.ServerVarIables("HTTP_REFERER") 
Response.End 
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(Request.ServerVarIables("HTTP_REFERER")) 
Serv_Url=Cstr(Request.ServerVarIables("SERVER_NAME")) 
If MId(From_Url,8,len(Serv_Url)) <> Serv_Url Then 
Response.WrIte "该文件不存在或者已经删除." 
Response.End 
End If 
Response.RedIrect Request.ServerVarIables("HTTP_REFERER") 
Response.End 
End Select 
Set F=Fso.GetFIle(StrFIlename) 
IntFIlelength=F.SIze 
s.LoadFromFIle(StrFIlename) 
If Err Then 
From_Url=Cstr(Request.ServerVarIables("HTTP_REFERER")) 
Serv_Url=Cstr(Request.ServerVarIables("SERVER_NAME")) 
If MId(From_Url,8,len(Serv_Url)) <> Serv_Url Then 
Response.WrIte "该文件数据不完整或许已损坏." 
Response.End 
End If 
Response.RedIrect Request.ServerVarIables("HTTP_REFERER") 
Response.End 
End If 
Set Upload=Server.CreateObJect("PersIts.Upload") 
If Upload Is Nothing Then 
Response.AddHeader "Content-DIsposItIon","attachment; FIlename="&F.Name 
Response.AddHeader "Content-Length",IntFilelength 
Response.CharSet="UTF-8" 
Response.ContentType="application/x-download" 
Response.BinaryWrite S.Read 
Response.Flush 
S.Close 
Set s=NothIng 
Else 
Upload.SendBinary StrFIlename,True,"application/x-download",False 
End If 
End FunctIon 
%>


调用 

复制代码代码如下:


<%Call DownloadFIle("下载地址")%> 

延伸 · 阅读

精彩推荐