当前位置: 首页 > 图文教程 > 网络编程 > ASP > 厉害的用Asp获取Dll加密新闻内容

ASP
在线实时开通FTP&WEB
对文件的操作--建立移动删除文件夹
利用FSO取得BMP,JPG,PNG,GIF文件信息
三种禁用FileSystemObject组件的方法
在线修改Serv-U 4.2用户密码
asp 中常用的文件处理函数
FSO+递归生成文件列表(xml)
文件遍历排序函数
清空iis log 中自己登录ip的vbs
NAV导致IIS调用FSO失败的解决方法
构建免受 FSO 威胁虚拟主机(三)
构建免受 FSO 威胁虚拟主机(二)
构建免受 FSO 威胁虚拟主机(一)
类似于iis浏览的功能
巧用FileSystem组件实现WEB应用中的本地特定打印
ASP中FSO对象对IIS WEB服务器数据安全的威胁及对策
文件的读出 编辑 管理
怎样判断一个盘上是否有文件
用ASP实现对MP3曲目信息的操作
关于用ADO STREAM做的无组件上传程序简单介绍

ASP 中的 厉害的用Asp获取Dll加密新闻内容


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 75 ::
收藏到网摘: n/a

以下是代码:
复制代码 代码如下:

<%
on error resume next
Dim objXMLHTTP, xml
Set xml = Server.CreateObject("Microsoft.XMLHTTP")
xml.Open "GET", "http://chanye.finance.sina.com.cn/yj/2005-01-05/236914.shtml", False
xml.Send
tmpstr= xml.responseText
ep=clng(instr(1,tmpstr,"meta_data2"))+18
tmpstr=replace(tmpstr,vbcrlf,"")
tmpstr=replace(tmpstr,chr(9),"")
tmpstr=replace(tmpstr,chr(32),"")
mydata=mid(tmpstr,1,ep)
recfilen=server.MapPath("tempstr.txt")
set Astream=Server.CreateObject("Adodb.Stream")
Astream.type=2
Astream.Mode = 3
Astream.open
Astream.CharSet = "GB2312"
Astream.Position =0
Astream.Writetext mydata,1
Astream.SaveToFile recfilen,2
Astream.close
set Astream1=Server.CreateObject("Adodb.Stream")
Astream1.type=2
Astream1.Mode = 3
Astream1.CharSet = "GB2312"
Astream1.open
Astream1.LoadFromFile(recfilen)
Assp=Astream1.size
crttmpstr=Astream1.ReadText(Assp)
Astream1.close
sp1=clng(instr(1,crttmpstr,"meta_data1"))+16
ep1=clng(instr(sp1,crttmpstr,"NAME=meta_data2"))-7
lth1=ep1-sp1
newdata=mid(crttmpstr,sp1,lth1)
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
body{
font-size:12px
}
td{
font-size:12px
}
</style>
<title>用Asp获取Dll加密新闻内容</title>
<table width="540" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>更新时间:<%=now %>获取内容长度:<%=lth1 %>
字节
注意要使用http://127.0.0.1/Ip1HtmlView.dll你得先下载这个Dll文件,怎么下不用多说吧?!
<object id=HtmlIp1View codebase=http://127.0.0.1/Ip1HtmlView.dll#version=1,0,1,14 classid=CLSID:D854FC15-D3EA-496A-B2A0-A772A3DE1D09>
<param name="meta_data1" value="<%=newdata %>">
<param name="meta_data2" value="">
<param name="meta_data3" value="">
<param name="meta_data4" value="">
<param name="meta_data5" value="">
<param name="meta_data6" value="">
<param name="meta_data7" value="">
<param name="meta_data8" value="">
<param name="baseurl" value="111">
<param name="random" value="111">
</object></td>
</tr>
</table>
</body>
</html>
  对代码的说明:之所以要使用Adodb.Stream,是因为直接取得的内容始终达不到想要的效果,ep的位置始终要比预期的长很多,而我试过用instrb,midb等函数同样得到另人迷惑的结果,所以无奈之下出此下策,还望高手指点(哎哟,我怎么感觉酸不溜疚的哦)。当然只针对当前地点有效,其它的适当修改就行,甚至可以直接生成页面,并记录到数据库,成为自己的,用上面的东西加写数据库应该够了吧。
  要防止Dll被下载也不难,对于IIS来是说可以加个.dll的ISAPI扩展,可执行文件随便选个Dll文件动作限制为“空”(什么都行,反正乱输入就可以了。)。要是Dll不为外站工作嘛,就不敢乱说了。防止新闻被窃取对付象这样的窃取方法,检查request.ServerVariables("HTTP_REFERER")不是本站的哄出去就可以了。
  另外,由于本人大学没毕业,又是学打铁的,所以肯定有很多垃圾的地方,请不吝指正,谢谢。