您现在的位置:首页 >> ASP >> 内容

asp防盗链原理及实现方法

时间:2013-6-15 17:18:06 点击:

  核心提示:防盗链的原理:不直接给出服务器中真实的url,将要访问的文件放到服务器上不可访问的目录中,所以要访问的文件就必须通过asp读取文件以二进制流的类型来发送文件,如果加上来源地址和用户登录状态的判断,可以...
防盗链的原理:
不直接给出服务器中真实的url,将要访问的文件放到服务器上不可访问的目录中,所以要访问的文件就必须通过asp读取文件以二进制流的类型来发送文件,如果加上来源地址和用户登录状态的判断,可以一定意义上的防止盗链。
缺点是:不过开销也会很大。

下面是两个示例的函数,没有加上权限判断。
Sub downloadFile(strFile) 
On error resume next 
Server.ScriptTimeOut=999999 
Dim S,fso,f,intFilelength,strFilename,DownFileName 

strFilename = Server.MapPath(strFile) 
Response.Clear 
Set s = Server.CreateObject("ADODB.Stream") 
s.Open 
s.Type = 1 
Set fso = Server.CreateObject("Scripting.FileSystemObject") 
If Not fso.FileExists(strFilename) Then 
'Response.Write("<h1>错误: </h1>
系统找不到指定文件") 
showimg "images/logos.gif" 
Exit Sub 
End If 
Set f = fso.GetFile(strFilename) 
intFilelength = f.size 
s.LoadFromFile(strFilename) 
If err Then 
'Response.Write("<h1>错误: </h1>" &#38; err.Description &#38; "<p>") 
showimg "images/logos.gif" 
Response.End 
End If 
Set fso=Nothing 
Dim Data 
Data=s.Read 
s.Close 
Set s=Nothing 
If Response.IsClientConnected Then 
Response.AddHeader "Content-Disposition", "attachment; filename=" &#38; strFile 
Response.AddHeader "Content-Length", intFilelength 
Response.CharSet = "UTF-8" 
Response.ContentType = "application/octet-stream" 
Response.BinaryWrite Data 
Response.Flush 
End If 
End Sub 



ASP防盗链输出图片函数 showimg (需要Persits.Jpeg组件支持) 

Sub showimg(FileName) 
Response.Clear 
Dim Jpeg,temp_pic 
On Error Resume Next 
Set Jpeg = Server.CreateObject("Persits.Jpeg") 
If -2147221005=Err then 
'Response.write "没有这个组件,请安装!" '检查是否安装AspJpeg组件 
downloadFile FileName 
Exit Sub 
End If 
Jpeg.Open (Server.MapPath(FileName)) '打开图片 
If err.number then 
'Response.write "打开图片失败,请检查路径!" 
Jpeg.Open (Server.MapPath("images/logos.gif")) 
response.end 
End if 
temp_pic=Jpeg.Binary 
Response.ContentType = "image/*" 
Response.AddHeader "Content-Disposition","filename=" &#38; arr_FileName(FileName) 
Response.BinaryWrite temp_pic 
Response.End 
End Sub 

更多关于asp 防盗链 的教程

作者:佚名 来源:不详
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
本类推荐
  • 没有
本类固顶
  • 没有
  • 青春网络编程技术(www.qcfupo.com) © 2021 版权所有 All Rights Reserved.
  • Powered by qcfupo! V3.0sp1
  • 百度友情链接: 百家乐[www.chinawestnews.net/aomenbaijiale/] 赌博网[www.chinawestnews.net/amdbwz/] 海立方[www.bjl.gov.cn/bjgylc/] 娱乐城[www.gtxrmzf.gov.cn/mapai/] 娱乐城[www.hfsf.gov.cn/yfgj/] 威尼斯人[www.hllinkou.gov.cn/baijile/] 澳门威尼斯[www.jjwgj.gov.cn/wnsr/] 888真人[www.lagm.gov.cn/888zhenren/] 百乐坊[www.laoling.gov.cn/blfylc/] 现金网[www.longyu.gov.cn/xjw/] 百家乐[www.chinawestnews.net/ambjl/] 新葡京娱乐场[www.sjzedu.gov.cn/jsylc/] 时时彩[www.snjw.gov.cn/ssc/] 赌博[www.chinawestnews.net/aomendubo/]