您的位置:首页 > 编程语言 > ASP

asp破解(百度,网易,新浪,搜狐,QQ空间)图片防盗链代码

2010-08-01 10:40 489 查看
以下是一个ASP版的破解图片防盗链的页面代码,使用方法和JSP版本一样,都是另存改页面

利用的时候就用这样的格式就可以了,该版
本比JSP版本多了一些功能,主要是用于防范别人使用该页面用于自己的站,具体参数可以自己琢磨下
http://你的url地址/文件名.jsp?url=你要破解的图片防盗链地址
<%

'盗链判断

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

%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: