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

来源:asp之家 时间:2011-02-26 11:17:00 

代码如下:


<% 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("下载地址")%>

标签:ASP,隐藏下载,防盗链
0
投稿

猜你喜欢

  • Sql Server 2005读取外部数据的方法

    2008-07-08 19:08:00
  • Javascript:keyCode键盘键码值表

    2008-02-21 13:16:00
  • javascript 密码强度验证规则、打分、验证

    2010-05-18 19:58:00
  • DreamweaverMX 2004打造细线表格

    2008-10-01 09:39:00
  • 讲解数据库加密技术的功能特性与实现方法

    2008-12-18 14:24:00
  • 如何做一个优秀的设计?

    2009-02-04 15:38:00
  • 详解css定位与定位应用

    2007-05-11 16:52:00
  • 在SQL Server中使用SQL语句查询一个存储过程被其它所有的存储过程引用的存储过程名

    2012-07-11 16:09:40
  • 深入分析SQL Server的数据转换服务

    2008-11-28 15:29:00
  • delete from 表名与truncate table 表名区别

    2012-11-30 20:31:37
  • JavaScript caller与callee属性

    2009-01-19 13:39:00
  • SQL"不能为新插入的行确定标识"错误的解决方法

    2011-04-07 11:05:00
  • 网站设计配色方案教程

    2007-10-10 19:38:00
  • jquery弹出层背景变暗 Lee dialog

    2008-08-18 13:11:00
  • 网页布局的位置重心与位置间的对比关系

    2007-10-15 19:20:00
  • Oracle 随机数

    2009-06-04 10:01:00
  • 成功的用户界面的八个特性[译]

    2009-04-20 20:36:00
  • 整理及优化CSS代码的七个原则[译]

    2009-04-23 12:35:00
  • W3C优质网页小贴士(三)

    2008-04-09 13:32:00
  • MSSQL中部分字段重复数据的删除方法

    2008-12-29 13:59:00
  • asp之家 网络编程 m.aspxhome.com