gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章使用asp代码突破163相册的防盗链由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

从网上来的代码,,稍微修改了一些地方,其实用的是cache类。。   保存代码为,比如pic.asp   使用:http://www.xxx.com/pic.asp?url=http://www.aaaa.com/log.gif   不光是163,其实就是很多防盗连的图片都可以这个实现。   。

复制代码代码如下

<%   '盗链判断   '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   %>  。

最后此篇关于使用asp代码突破163相册的防盗链的文章就讲到这里了,如果你想了解更多关于使用asp代码突破163相册的防盗链的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com