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

__你崔崔哥儿

__你崔崔哥儿

2016-02-19 10:13

想要天天向上,就要懂得享受学习。图老师为大家推荐使用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 
展开更多 50%)
分享

猜你喜欢

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

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

iPhone6相册怎么加密

iphone iPhone 5s iPhone 6 iphone刷机
iPhone6相册怎么加密

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

华为荣耀6相册怎么隐藏?荣耀6隐藏相册教程

手机软件 应用软件
华为荣耀6相册怎么隐藏?荣耀6隐藏相册教程

快用苹果助手:教你怎么玩转iOS8相册

电脑网络
快用苹果助手:教你怎么玩转iOS8相册

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

大象册如何删除整个相册?

手机软件 应用软件
大象册如何删除整个相册?

相册设计:海景主题杂志册设计实例

平面设计 海报设计 广告设计 画报设计 签名设计 服装设计 名片设计 画册设计 版式设计 商标设计 相册内页设计
相册设计:海景主题杂志册设计实例

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

5个你不知道的HTML5的接口介绍

5个你不知道的HTML5的接口介绍

如何查看QQ空间历史装扮?

如何查看QQ空间历史装扮?
下拉加载更多内容 ↓