仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 372|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页编程之小偷程序年夜揭秘

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:12:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。程序|小偷程序  媒介:小偷程序实际上是懒人的妙法。它能够偷文章,及时旧事资讯,歌曲,乃至歌曲数据的本能机能寻觅和进库等!功效可谓壮大,可是另有很多多少伴侣各处求小偷程序,问甚么?由于网上没有几篇具体先容小偷程序的文章供人人参考。实在做小偷程序其实不难,我在这儿把我作小偷程序的履历贴出来人人看看,大概也有不合错误的中央,请人人多多指出来。
  1、基础道理及复杂实例
  道理部分网上太多了,blue1000也没有需要在这里罗嗦了,这里援用一下,嘿嘿!注:此下内容为援用(有部分修正):原572019援用自:动易收集
  (一)道理
  小偷程序实践上是经由过程了XML中的XMLHTTP组件挪用别的网站上的网页。好比旧事小偷程序,良多都是挪用了sina的旧事网页,而且对个中的html举行了一些交换,同时对告白也举行了过滤。用小偷程序的长处有:不必保护网站,由于小偷程序中的数据来自其他网站,它将跟着该网站的更新而更新;能够节俭服务器资本,一样平常小偷程序就几个文件,一切网页内容都是来自其他网站。弱点有:不不乱,假如方针网站堕落,程序也会堕落,并且,假如方针网站举行晋级保护,那末小偷程序也要举行响应修正;速率,由于是远程挪用,速率和在当地服务器上读取数据比起来,一定要慢一些。
  (二)事例
  上面就XMLHTTP在ASP中的使用做个复杂申明
<%
’经常使用函数
’1、输出url方针网页地点,前往值getHTTPPage是方针网页的html代码
functiongetHTTPPage(url)
dimHttp
setHttp=server.createobject("MSXML2.XMLHTTP")
Http.open"GET",url,false
Http.send()
ifHttp.readystate4then
exitfunction
endif
getHTTPPage=bytesToBstr(Http.responseBody,"GB2312")
sethttp=nothing
iferr.number0thenerr.Clear
endfunction
2、转换乱玛,间接用xmlhttp挪用有中笔墨符的网页失掉的将是乱玛,能够经由过程adodb.stream组件举行转换
FunctionBytesToBstr(body)
dimobjstream
setobjstream=Server.CreateObject("adodb.stream")
objstream.Type=1
objstream.Mode=3
objstream.Open
objstream.Writebody
objstream.Position=0
objstream.Type=2
objstream.Charset="GB2312"’转换本来默许的UTF-8编码转换成GB2312编码,不然间接用XMLHTTP组件挪用有中笔墨符的网页失掉的将是乱码
BytesToBstr=objstream.ReadText
objstream.Close
setobjstream=nothing
EndFunction
’上面试着挪用http://www.3doing.com/earticle/的html内容
DimUrl,Html
Url="http://www.3doing.com/earticle/";
Html=getHTTPPage(Url)
Response.writeHtml
%>
  注:此上内容为援用(有部分修正):原572019援用自:动易收集
  2、几个经常使用的函数
  (一)InStr函数
  形貌:前往某字符(string2)串在另外一字符串(string1)中第一次呈现的地位。
  语法:
InStr(string1,string2)
  比方:
DimSearchString,SearchChar
SearchString="http://blue1000.com"要在个中搜刮的字符串。
SearchChar="blue1000"搜刮"blue1000"。
MyBK=Instr(SearchString,SearchChar)前往8
假如找不到则前往“0”,比方:
SearchChar="BK"
MyBK=Instr(SearchString,SearchChar)前往0
(二)Mid函数
形貌
从字符串中前往指定命目标字符。
语法
Mid(string,start,over)
比方:
DimMyBK
MyBK=Mid("我们的BK(blue1000.com)计划",7,12)截取字符串"我们的BK(blue1000.com)计划"第7个字符今后的12个字符
此时MyBK的值就酿成了"blue1000.com"
(三)Replace函数(这个我就不细说了,只举个例子)
DimSearchString,SearchChar
SearchString="我们的BK计划是一个网站建立资本网站"要在个中搜刮的字符串。
SearchString=Replace(SearchString,"BK计划","Blue1000.Com")
此时SearchString的值就酿成了"我们的Blue1000.Com是一个网站建立资本网站"
下面的内容只说了怎样猎取全部页面的html的代码和几个经常使用的函数,那末怎样猎取指定部分的代码呢?怎样删除我不必要的内容呢?怎样才干将外站的链接改成我的呢?又怎样完成把本来的翻页做成我的呢?
  上一篇blue1000给人人讲了些道理和几个经常使用的函数,这一节说一些技能类的器材~(对妙手来讲,这是空话,以是妙手能够不看,但也不要骂我哦)
  (一)怎样截取指定地区的HTML代码?
  (对方网站的HTML代码在哪儿看?晕:IE扫瞄器>>检察>>源文件。不要告知我你不晓得IE是甚么!)比方我只想猎取以下HTML代码中"<td>"和"</td>"之间的的笔墨部分:
<html>
<title>BK(blue1000.com)计划--网页制造资本站点</title>
<body>
<table>
<tr><td></td></tr>
<tr><tdid="Content">BK(blue1000.com)计划--网页制造资本站点是个资本多多的站点……</td></tr>
</table>
</body>
</html>
<%
……
DimStrBK,start,over,RsBK
StrBK=getHTTPPage(网页的地点)
start=Instr(StrBK,"<tdid=""Content"">")’此处的感化是猎取字符串入手下手中央的定位。Instr函数后面一节说过了哦~
’这里要有人问了:本来的代码是<tdid="Content">,怎样你这里挪用的是<tdid=""Content"">啊?谜底:asp中(正确的说是VBscript中是用两个双引号来暗示一个双引号的,由于双引号关于程序来讲是个敏感字符。)
over=Instr(StrBK,"…</td></tr>")’此处的感化是猎取字符串停止中央的定位。
’这里又要有人问了:(:程序挪用HTML代码干嘛后面多出来3个点点"…"啊?答:提醒:下面一行也有一个</td></tr>,假如这里用</td></tr>来定位的话,程序会毛病地把下面一行的</td></tr>当做欲猎取字符串的停止部分了。
RsBK=mid(StrBK,start,over-start)’此处的感化是掏出StrBK中第start个字符到第over个字符之间的字符串。mid函数后面一节我也讲过了;over-start是为了盘算出入手下手地位和停止地位之间的间隔,也就是字符数。
response.write(RsBK)’最初输入程序猎取的内容
%>
不要乐意的太早,当你运转的时分,你会发明页面的html代码有毛病,为何呢?由于你猎取的html代码是:
<tdid="Content">BK(blue1000.com)计划--网页制造资本站点是个资本多多的站点…
看到了吧?有完整的HTML代码啊!怎样办呢?start=Instr(StrBK,"<tdid=""Content"">")这个语句猎取的是"<tdid="Content">"在StrBK中的地位数,如今我们能够在程序语句的前面加上17,那末程序就会将地位指向<tdid="Content">前面的谁人字符.
好的,程序将改成如许:
<%
……
DimStrBK,start,over,RsBK
StrBK=getHTTPPage(网页的地点)
start=Instr(StrBK,"<tdid=""Content"">")+17
over=Instr(StrBK,"…</td></tr>")’这里你也能够减往七(-7)把3个点往失落
RsBK=mid(StrBK,start,over-start)
response.write(RsBK)
%>
  如许就OK了,我们就能够将我们想要的器材偷过去显现在我们本人的页面了,呵呵~
  (二)怎样将猎取的字符中的一部分删失落大概做一些修正?
接着下面的来说,我们能够将RsBK中的"BK(blue1000.com)"换成"BK":
RsBK=replace(RsBK,"BK(blue1000.com)","BK")
大概间接把"(blue1000.com)"删失落:
RsBK=replace(RsBK,"(blue1000.com)","")
好了,如今RsBK就酿成了:"BK计划--网页制造资本站点是个资本多多的站点……"了.
可是现实中,有些情形大概replace函数是不顺应的,好比我们想把某个字符串内里的一切毗连都往失落.毗连大概包含良多品种型,replace只能替换个中特定的一个,我们不成能用一个又一个对应的replace函数来交换吧?
  那末如今就用到了程序中的正则表达式
  假如哪位伴侣恰好想往失落页面中一切链接的话,请存眷Blue1000.com的下一篇教程:<<怎样扫除网页中的一切链接[正则表达式]>>
  (三)怎样将对方网站的翻页也处置成我们本人的呢?
  谜底是:使用replace函数和页面参数的传送。
  比方对方页面里含有如许的翻页代码:"<ahref=2.htm>下一页</a>",我们能够先使用下面讲的内容,猎取这个字符串,然后用replace函数:RsBK=replace(RsBK,"<ahref=","<ahref=page.asp?Url=")
  然后再page.asp的程序里猎取Url的参数值,最初用小偷手艺猎取下一页你想要的内容就能够了。
  (四)怎样将猎取的内容进库
  因为篇幅无限,这里复杂说一下.
实在很复杂:
将偷来的内容作一下处置,避免在写进数据库的时分呈现sql注进毛病,比方:replace(String,"","")
然后实行一个拔出数据库操纵的sql命令就ok了~
以上只是一些关于XMLHTTP组件的低级使用,实践上它还能完成的功效另有良多,好比说保留远程图片到当地服务器上,共同adodb.stream组件能够把猎取来的数据保留进数据库。小偷的感化和利用局限都很广。
使用cdonts,可以发送、查看邮件,实现webmail的功能。结合wsh,可以实现对nt主机的管理,如nt用户管理、iis虚拟主机设置、exchange邮箱设置等等,就像管理本地机一样方便。
透明 该用户已被删除
沙发
发表于 2015-1-18 22:53:57 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
飘飘悠悠 该用户已被删除
板凳
发表于 2015-1-25 20:54:19 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
不帅 该用户已被删除
地板
发表于 2015-2-4 03:49:52 | 只看该作者
掌握asp的特性而且一定要知道为什么。
飘灵儿 该用户已被删除
5#
发表于 2015-2-9 14:50:04 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
变相怪杰 该用户已被删除
6#
发表于 2015-2-27 08:05:41 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
小妖女 该用户已被删除
7#
发表于 2015-3-8 23:52:16 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
愤怒的大鸟 该用户已被删除
8#
发表于 2015-3-16 19:22:01 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
海妖 该用户已被删除
9#
发表于 2015-3-23 00:45:40 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 04:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表