当前位置: 电脑软硬件应用网 > 设计学院 > 网络编程 > ASP教程 > 正文 |
|
|||
ASP实例教程:隐藏下载地址和防盗 | |||
2009-11-16 11:42:53 文/网络收集 出处:电脑软硬件应用网 | |||
<% 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("下载地址")%> |
|||
关于45IT | About 45IT | 联系方式 | 版权声明 | 网站导航 | |
Copyright © 2003-2011 45IT. All Rights Reserved 浙ICP备09049068号 |