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

从网上来的代码,,稍微修改了一些地方,其实用的是cache类。。 

保存代码为,比如pic.asp 
使用:yun_qi_img/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 12:01:57

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

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

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

asp读取远程文件并保存到本地代码_小偷/采集

<% dim act,ifLogin,loginUrl,loginActUrl,loginData,fileUrl,fileName act=request.QueryString("act") if(act="do") then   ifLogin=Cint(request.QueryString("ifLogin"))  loginActUrl=request.Form("loginActUrl")  loginDa

ASP 代码出现80040e14错误的解决方法_应用技巧

好久没有写ASP代码了,今天在做一个简单的留言本时,出现了一下错误: Microsoft Office Access Database Engine 错误 '80040e14' Insert INTO 语句的语法错误. 上网查了一下资料,才知道该错误是由一下原因造成的: 1)将保留字用作名称.大多数数据库都有一组保留字.例如,"name"是保留字,因而不能用于数据库中的列名称. 2)名称中使用特殊字符.特殊字符的示例包括: . / * : ! # & - ? 3)在列名称中使用

asp下利用XMLHTTP 从其他页面获取数据的代码_小偷/采集

利用XMLHTTP 从其他页面获取数据 我们在编写ASP代码的时候,大家都知道可以通过post或者get获得form表单的数据,那么我们如何直接获得其他页面上的数据呢?这就要借助xmlhttp协议了.xmlhttp是xmldom技术的一部分. 下面的代码就是一个很简单的例子,我们利用xmlhttp技术,把http://www.xxxx.com/站点首页的代码以xml的形式完全获取,并且在页面中输出. <% Dim objXMLHTTP, xml Set xml = Server.CreateOb

使用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.ServerVar

[asp]阿里西西的alexa采集效果代码_小偷/采集

我想这个系统现在在网上或源码站几乎是没有可用的程序. 提供下载的都是以前的老版本,ALEXA官方在他们的页面做了混淆代码防采集后,那些以前的ALEXA排名查询系统都已经无法再使用了. 网上除了一些知名(有钱的主)能提供(通过收费接口)的排名查询和我看到的webmasterhome.cn免费接口的查询功能系统外,个人站长基本没几个再能提供ALEXA排名查询服务.        开源发布的这个版本经过我一段时间的使用和完善,已经做到无错,速度相对也比较快.为了这个系统,也曾有黑客威胁过自己,并招来两

关于ASP代码的加密的几个方法_应用技巧

1.MS SCRIPT ENCODE 基本上没什么用了,一段JS就可以破解 2.封装成DLL 比较可行的方法,有通过VB封装成DLL的例子,而且无需改动很多代码,修改方便,调用时也很简单.缺点是需要注册DLL控件,虚拟主机通常不能达到这一要求. 封装时可在代码里加入主机域名判断的代码,不对则拒绝运行,不过提倡封装类,而展现逻辑还是留在ASP文件里吧,呵呵 案例:动易CMS 不过VB属于解释型语言,似乎可以反编译 3.使用NETBOX 国人开发的一款ASP服务器端程序,可以把ASP文件打包,缺陷是

asp采集HTML内容常用代码,详讲正则采集_小偷/采集

先说一下采集原理: 采集程序的主要步骤如下: 一.获取被采集的页面的内容 二.从获取代码中提取所有用的数据 一.获取被采集的页面的内容 我目前所掌握的ASP常用获取被采集的页面的内容方法: 1.用serverXMLHTTP组件获取数据 复制代码 代码如下: Function GetBody(weburl) '创建对象 Dim ObjXMLHTTP Set ObjXMLHTTP=Server.CreateObject("MSXML2.serverXMLHTTP") '请求文件,以异步形式

asp采集抓取网上房产信息的代码_小偷/采集

复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <!-- #include file="conn.asp" --> <!-- #include file="inc/function.asp" --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&