使用asp代码突破图片的防盗连

从网上来的代码,,稍微修改了一些地方,其实用的是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 

%>

时间: 2024-09-20 14:42:12

使用asp代码突破图片的防盗连的相关文章

ASP代码实现图片上传并存入数据库中

用ASP编写网站应用程序时间长了,难免会遇到各式各样的问题,其中 关于如何上传文件到服务器恐怕是遇见最多的问题了,尤其是上传图片,比如你想要在自己的社区里面实现类似网易虚拟社区提供的"每日一星"的功能,就要提供给网友上传照片的功能.上传图片文件到服务器可以使用各种免费的文件上传组件,使用起来功能虽然很强大,但是由于很多情况下,我们只能使用免费的支持ASP的空间或者租用别人的虚拟空间,对于第一种情况,我们根本就没有可能来使用文件上传组件;至于第二种情况,我们也要付出不少的"银子

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

网上来的代码,,稍微修改了一些地方,其实用的是cache类.. 保存代码为,比如pic.asp 使用:log.gif 不光是163,其实就是很多防盗连的图片都可以这个实现. <% '盗链判断 'If Instr(Request.ServerVariables("http_referer"),"http://"&Request.ServerVariables("server_name")&"") = 0 T

使用asp代码突破163相册的防盗连_小偷/采集

从网上来的代码,,稍微修改了一些地方,其实用的是cache类..  保存代码为,比如pic.asp  使用:yun_qi_img/log.gif  不光是163,其实就是很多防盗连的图片都可以这个实现.  复制代码 代码如下: <%  '盗链判断  'If Instr(Request.ServerVariables("http_referer"),"http://"&Request.ServerVariables("server_name&q

纯asp代码实现图片和文本同步上传

上传|上传 在网上看到一篇文章,经过修改并结合xml,实现图片文本同步上传! 共3文件:upload.htm,uploadtext.asp,uploadimg.asp 建立一access数据库,叫text.mdb,表叫做imgtable 字段有text1,img两个,还有一个递增的id字段. 代码如下: upload.htm <html> <head> <title>图片文本同步上传</title> <meta name = "dongbao

用纯ASP代码实现图片上传

上传 源作者:追风 用ASP编写网站应用程序时间长了,难免会遇到各式各样的问题,其中关于如何上传文件到服务器恐怕是遇见最多的问题了,尤其是上传图片,比如你想要在自己的社区里面实现类似网易虚拟社区提供的"每日一星"的功能,就要提供给网友上传照片的功能.上传图片文件到服务器可以使用各种免费的文件上传组件,使用起来功能虽然很强大,但是由于很多情况下,我们只能使用免费的支持ASP的空间或者租用别人的虚拟空间,对于第一种情况,我们根本就没有可能来使用文件上传组件:至于第二种情况,我们也要付出不少

用纯ASP代码实现图片上传并存入数据库中

用ASP编写网站应用程序时间长了,难免会遇到各式各样的问题,其中关于如何上传文件到服务器恐怕是遇见最多的问题了,尤其是上传图片,比如你想要在自己的社区里面实现类似网易虚拟社区提供的"每日一星"的功能,就要提供给网友上传照片的功能.上传图片文件到服务器可以使用各种免费的文件上传组件,使用起来功能虽然很强大,但是由于很多情况下,我们只能使用免费的支持ASP的空间或者租用别人的虚拟空间,对于第一种情况,我们根本就没有可能来使用文件上传组件:至于第二种情况,我们也要付出不少的"银子&

用纯ASP代码实现图片上传并存入数据库中(二)

上传|数据|数据库 * GetChunk语法 返回大型文本或二进制数据 Field 对象的全部或部分内容 . variable = field.GetChunk( Size ) 返回值 返回变体型. 参数 Size 长整型表达式,等于所要检索的字节或字符数.说明 使用 Field 对象的 GetChunk 方法检索其部分或全部长二进制或字符数据.在系统内存有限的情况下,可使用 GetChunk 方法处理部分而非全部的长整型值. GetChunk 调用返回的数据将赋给"变量".如果 Si

用纯ASP代码实现图片上传并存入数据库中(一)

上传|数据|数据库 用ASP编写网站应用程序时间长了,难免会遇到各式各样的问题,其中关于如何上传文件到服务器恐怕是遇见最多的问题了,尤其是上传图片,比如你想要在自己的社区里面实现类似网易虚拟社区提供的"每日一星"的功能,就要提供给网友上传照片的功能.上传图片文件到服务器可以使用各种免费的文件上传组件,使用起来功能虽然很强大,但是由于很多情况下,我们只能使用免费的支持ASP的空间或者租用别人的虚拟空间,对于第一种情况,我们根本就没有可能来使用文件上传组件:至于第二种情况,我们也要付出不少

ASP隐藏下载地址及防盗代码

ASP隐藏下载地址及防盗代码 以下为引用的内容: <% FunctIon DownloadFIle(StrFIle) StrFIlename=StrFIle Response.Buffer=True Response.Clear Set S=Server.CreateObJect("ADODB.Stream") S.Open S.Type=1 on Error Resume Next Set Fso=Server.CreateObJect("ScrIptIng.FIle