防盗链接ASP函数

来源:asp之家 时间:2011-03-07 11:02:00 

简单介绍下功能吧:使用了ASP的一个对象ServerVariables(服务器环境变量),通过这个环境变量可以获取到真正的下载地址再通过一些简单的VBS内置函数破坏其真正地址的完整性。达到欺骗下载软件的功能。现附上源码提供大家学习。

代码如下:


<% 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("DownloadFIle")%>

标签:ASP,防盗链
0
投稿

猜你喜欢

  • 关于Python中*args和**kwargs的深入理解

    2021-04-07 17:45:06
  • pip install urllib2不能安装的解决方法

    2022-05-27 12:25:13
  • Pygame游戏开发之太空射击实战图像精灵下篇

    2022-10-20 16:09:06
  • Django重置migrations文件的方法步骤

    2023-06-17 07:01:38
  • Python轮播图与导航栏功能的实现流程全讲解

    2021-08-08 22:46:32
  • python的open函数使用案例代码

    2022-01-20 16:41:30
  • 通过pycharm使用git的步骤(图文详解)

    2023-07-24 14:43:21
  • 一文搞懂Golang 时间和日期相关函数

    2024-02-06 00:29:01
  • IIS6.0下ASP的新增功能

    2007-08-22 14:55:00
  • 什么是XML?

    2007-10-29 12:53:00
  • PyQt5 QTable插入图片并动态更新的实例

    2022-02-11 03:22:43
  • javascript unicode与GBK2312(中文)编码转换方法

    2024-04-17 10:09:36
  • python利用xlsxwriter模块 操作 Excel

    2023-02-11 00:43:02
  • python切割图片的示例

    2021-01-10 22:09:12
  • MySQL变量原理及应用实例

    2024-01-12 17:35:30
  • python批量导入数据进Elasticsearch的实例

    2022-06-29 16:08:02
  • javascript中parseInt()函数的定义和用法分析

    2024-04-22 22:44:16
  • 用css+js给网页背景插入flash播放器

    2007-10-21 09:27:00
  • 详解Python中的__getitem__方法与slice对象的切片操作

    2022-04-26 19:54:55
  • python实战小游戏之考验记忆力

    2023-02-23 14:29:54
  • asp之家 网络编程 m.aspxhome.com