源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

使用asp代码突破163相册的防盗连

  • 时间:2022-08-12 04:14 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:使用asp代码突破163相册的防盗连
从网上来的代码,,稍微修改了一些地方,其实用的是cache类。。  保存代码为,比如pic.asp  使用:http://www.xxx.com/pic.asp?url=http://www.aaaa.com/log.gif  不光是163,其实就是很多防盗连的图片都可以这个实现。 
[u]复制代码[/u] 代码如下:
<%  '盗链判断  'If Instr(Request.ServerVariables("http_referer"),"http://"&Request.ServerVariables("server_name")&"") = 0 Then  'Response.Write "非法链接"  'Response.End  'End If  Dim url, body, myCache  url = Request.QueryString("url")  Set myCache = new cache  myCache.name = "picindex"&url  If myCache.valid Then  body = myCache.value  Else  body = GetWebData(url)  myCache.add body,dateadd("d",1,now)  End If  If Err.Number = 0 Then  Response.CharSet = "UTF-8"  Response.ContentType = "application/octet-stream"  Response.BinaryWrite body  Response.Flush  Else  Wscript.Echo Err.Description  End if  '取得数据  Public Function GetWebData(ByVal strUrl)  Dim curlpath  curlpath = Mid(strUrl,1,Instr(8,strUrl,"/"))  Dim Retrieval  Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")  With Retrieval  .Open "Get", strUrl, False,"",""  .setRequestHeader "Referer", curlpath  .Send  GetWebData =.ResponseBody  End With  Set Retrieval = Nothing  End Function  'cache类  class Cache  private obj 'cache内容  private expireTime '过期时间  private expireTimeName '过期时间application名  private cacheName 'cache内容application名  private path 'url  private sub class_initialize()  path=request.servervariables("url")  path=left(path,instrRev(path,"/"))  end sub  private sub class_terminate()  end sub  public property get blEmpty  '是否为空  if isempty(obj) then  blEmpty=true  else  blEmpty=false  end if  end property  public property get valid  '是否可用(过期)  if isempty(obj) or not isDate(expireTime) then  valid=false  elseif CDate(expireTime)<now then  valid=false  else  valid=true  end if  end property  public property let name(str)  '设置cache名  cacheName=str & path  obj=application(cacheName)  expireTimeName=str & "expires" & path  expireTime=application(expireTimeName)  end property  public property let expires(tm)  '重设置过期时间  expireTime=tm  application.lock  application(expireTimeName)=expireTime  application.unlock  end property  public sub add(var,expire)  '赋值  if isempty(var) or not isDate(expire) then  exit sub  end if  obj=var  expireTime=expire  application.lock  application(cacheName)=obj  application(expireTimeName)=expireTime  application.unlock  end sub  public property get value  '取值  if isempty(obj) or not isDate(expireTime) then  value=null  elseif CDate(expireTime)<now then  value=null  else  value=obj  end if  end property  public sub makeEmpty()  '释放application  application.lock  application(cacheName)=empty  application(expireTimeName)=empty  application.unlock  obj=empty  expireTime=empty  end sub  public function equal(var2)  '比较  if typename(obj)<>typename(var2) then  equal=false  elseif typename(obj)="Object" then  if obj is var2 then  equal=true  else  equal=false  end if  elseif typename(obj)="Variant()" then  if join(obj,"^")=join(var2,"^") then  equal=true  else  equal=false  end if  else  if obj=var2 then  equal=true  else  equal=false  end if  end if  end function  end class  %> 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部