当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP实例教程:隐藏下载地址和防盗

ASP
session的用法具体解说
模仿PHP写的ASP分页
用排序串字段实现树状结构(例程:保存贴子内容)
Recordset对象方法详解
为Html 的Select 加一个提示语和输入方法
PerlScript编写ASP
嘿,大家瞧瞧这老外在页面之间传递元素的办法
防止使用者按上一頁按鈕
利用owc建立EXECL的例子
ASPHttp使用范例-远程读取别人的页面,并自动写入库
实现文件下载而不是由ie打开的代码
ASP在Scripting.Dictionary对象的作用是什么?
一种效率极高的分类算法(转--非常好,帮助很大对于想做好asp的朋友)
论坛关键技术,树状记录表的堆栈展开
例子:文本搜索
用ASP实现播放Flash的例子
利用global.asa计划执行程序(转)
关于如何保障Winnt +asp +sql web站点的安全经验
用Asp修改注册表
优化MICROSOFT ACCESS提高速度

ASP实例教程:隐藏下载地址和防盗


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-04   浏览: 86 ::
收藏到网摘: n/a

以下为引用的内容:
<% 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("下载地址")%>