【破解】图片防盗链破解 ASP源码奉上

这是一年前写的一篇关于图片防盗链的文章. 同时一直使此程序至今,感觉良好;


【破解】图片防盗链破解(如:在外部也能显示qq、163或百度空间图片)

 

ASP版源代码:

<%   

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  

%>

 

 

php版源代码:

<?php 
$p=$_GET['url']; 
$pics=file($p); 
for($i=0;$i< count($pics);$i++) 

echo $pics[$i]; 

?> 

 

原理我就不做说明了, 大家有兴趣可以研究研究!

链接: http://fcjblog.com/asp-photo-crack-00123


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值