防盗链接ASP函数实现代码
简单介绍下功能吧:使用了ASP的一个对象ServerVariables(服务器环境变量),通过这个环境变量可以获取到真正的下载地址再通过一些简单的内置函数破坏其真正地址的完整性。达到欺骗下载软件的功能。现附上源码提供大家学习。
复制代码 代码如下:
<% FunctIon DownloadFIle(StrFIle)
StrFIlename=StrFIle
er=True
r
Set S=teObJect("am")
=1
on Error Resume Next
Set Fso=teObJect("SystemObJect")
If Not Exists(StrFIleName) Then
From_Url=Cstr(erVarIables("HTTP_REFERER"))
Serv_Url=Cstr(erVarIables("SERVER_NAME"))
If MId(From_Url,8,len(Serv_Url)) <> Serv_Url Then
e "该文件不存在或者已经删除."
End If
rect erVarIables("HTTP_REFERER")
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(erVarIables("HTTP_REFERER"))
Serv_Url=Cstr(erVarIables("SERVER_NAME"))
If MId(From_Url,8,len(Serv_Url)) <> Serv_Url Then
e "该文件不存在或者已经删除."
End If
rect erVarIables("HTTP_REFERER")
End Select
Set F=Ile(StrFIlename)
IntFIlelength=
FromFIle(StrFIlename)
If Err Then
From_Url=Cstr(erVarIables("HTTP_REFERER"))
Serv_Url=Cstr(erVarIables("SERVER_NAME"))
If MId(From_Url,8,len(Serv_Url)) <> Serv_Url Then
e "该文件数据不完整或许已损坏."
End If
rect erVarIables("HTTP_REFERER")
End If
Set Upload=teObJect("ad")
If Upload Is Nothing Then
eader "Content-DIsposItIon","attachment; FIlename="&
eader "Content-Length",IntFilelength
Set="UTF-8"
entType="application/x-download"
ryWrite
h
e
Set s=NothIng
Else
Binary StrFIlename,True,"application/x-download",False
End If
End FunctIon
%>
使用:<%call>。
-
如何理解Javascript的caller,callee,call,apply区别
在提到上述的概念之前,首先想说说javascript中函数的隐含参数:argumentsarguments该对象代表正在执行的函数和调用它的函数的参数。[function.]arguments[n]参数function:选项。当前正在执行的Function对象的名字。n:选项。要传递给Function对象的从0开始的参数值...
-
JavaScript的课堂讲解
本文主要内容:1.分析函数的四种调用形式2.弄清楚函数中this的意义3.明确构造函对象的过程4.学会使用上下文调用函数一、函数调用形式函数调用形式是最常见的形式,也是最好理解的形式。所谓函数形式就是一般声明函数后直接调用即是。例如:复制代码代码如下://声明...
-
javascript闭包的定义及应用实例分析
官方解释“闭包”是一个拥有许多变量和绑定了这些变量的环境表达式(通常是一个函数),因而这些变量也是环境表达式的一部分。通俗解释Javascript中所有的函数都是一个闭包。不过一般来说,嵌套的function产生的闭包更为强大,也是大部分时候我们所说的“闭包”。看如下...
-
SQL的SUBSTR 函数的使用方法介绍
SUBSTR函数是用来截取数据库某一列字段中的一部分。在各个数据库的函数名称不一样(真是蛋疼,后发明的`数据库难道不能同先发明的一样吗?)复制代码代码如下:MySQL:SUBSTR(),SUBSTRING()Oracle:SUBSTR()SQLServer:SUBSTRING();常用的方式是:SBUSTR(str,pos);就是从pos...