设为首页
加入收藏
站点地图
首页 | 网站建设 | 杭州FPGA培训班,浙江FPGA培训班,苏州FPGA培训班,昆山FPGA培训班,常州FPGA培训班优化 | 网站推广 | 网络营销 | 网站运营 | 网站策划 | 在线讨论 | 下载中心
您当前的位置:WebSite -> 网站建设 -> 文章内容正文->小偷程序浅析
 子栏目导航
 热门文章
 相关文章
 

小偷程序浅析

作者:Somnus  来源:转载  发布时间:2008-9-5 10:08:00  

不记得第一次看到小偷程序是什么时候了,当时依稀看到了如下的文字:用小偷程序的优点有:无须维护网站,因为小偷程序中的数据来自其他网站,它将随着该网站的更新而更新;可以节省服务器资源,一般小偷程序就几个文件,所有网页内容都是来自其他网站。缺点有:不稳定,如果目标网站出错,程序也会出错,而且,如果目标网站进行升级维护,那么小偷程序也要进行相应修改;速度,因为是远程调用,速度和在本地服务器上读取数据比起来,肯定要慢一些。

因为当时一心做站,同时对这些歪门邪道颇为鄙视,自然就没有深究小偷程序是个什么东东了!

直到有一次,导师的一个项目要求将两个网站的网页聚集在一个页面上,当时采取的方案是采用Ifframe的笨方法,等做完了之后,我才猛然想起有小偷程序,

网上百度一下原理:小偷程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。比如新闻小偷程序,很多都是调用了sina的新闻网页,并且对其中的html进行了一些替换,同时对广告也进行了过滤。

马上觉得小偷程序简直就是最佳方案啊!

自然是猛下功夫学习,半天功夫,会了!

下面是一段很简单的代码:

<%
'常用函数

'1、输入url目标网页地址,返回值getHTTPPage是目标网页的html代码
function getHTTPPage(url)
dim Http
set Http=server.createobject("MSXML2.XMLHTTP"
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312"
set http=nothing
if err.number<>0 then err.Clear
end function

'2、转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream"
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function


'下面试着调用http://www.3doing.com/earticle/的html内容
Dim Url,Html
Url="http://www.3doing.com/earticle/";
Html = getHTTPPage(Url)
Response.write Html
%>

不过今天我又遇到了一个难题,那就是对于设置了<style>
iframe{v:expression(this.src="/about:blank",this.outerHTML='');}
</style>

小偷程序无能为力,如果我们利用伪造来源标题sethttphead的方式,来设置referer的话,也没办法绕过去。

不知道哪位高手能解决此问题!

 [返回上一页] [打 印] [收 藏]
百度中查看“小偷程序浅析”相关文章

版权申明:本站网站建设资源来源网络,如有侵犯您的版权,请来Q告知 我们会在24小时内删除!

Copyright © 2008-2010 www.mepeixun.com All Rights Reserved
服务QQ:52466268 邮箱:meipeixun@163.com
备案号:苏ICP备07200130号