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("下载地址")%> 该文章在 2010/11/26 0:55:39 编辑过 |
关键字查询
相关文章
正在查询... |