在编写ASP文件时,经常性会遇到一些执行错误,浏览器会给出一些错误代码,部分常见错误代码对照: 5=无效的过程调用或者参数无效 6=溢出 7=内存不足 17=不能完成所要求的操作 35=没有定义子程序、函数,或属性 48=装入dll时发生错误 51=内部错误 52=错误的文件名或数目 53=文件找不到 58=文件已经存在 61=磁盘已满 62=输入已超过文件结尾 70=没有访问权限 71=磁盘尚未就绪 74=不能用其他磁盘机重命名 75=路径/文件访问错误 76=找不到路径 335=不能访问系统注册表 387=性设置不允许 422=找不到属性 423=找不到属性或方法 424=需要对象 425=无效的对象使用 432=在自动操作期间找不到文件或类名 438=对象不支持此属性或方法 我们可以利用这些代码使反馈信息变得更友好些。 1 2 3 4 5 6 <% On error resume next ‘容错语句,程序遇到错误继续往下执行 if Err.Number=0 Then ‘如果程序无错 Response.Write("Right") End if %> 1 2 3 4 5 6 <% On [...]
1 2 3 4 <% set fso=server.CreateObject("scripting.filesystemobject") fso.deletefile ("F:\WebSite files\wwwroot\123.txt") %> 或者: 1 2 3 4 5 <% set fso=server.CreateObject("scripting.filesystemobject") file=server.MapPath("123.txt") fso.deletefile file %> 以上指定被删除的文件是在代码中设定的,直接打开这个ASP文件,123.txt就被删除了。也可以加个表单功能让使用者可以在前台输入要删除的文件,当Submit之后再执行删除操作。代码如下: 1 2 3 4 5 6 7 8 9 10 11 <form method="post" action="?action=del"> <input type="text" name="file" value="<%=server.MapPath("./")%>" size="40"/> <input type="submit" name="delete" /> </form> <% if request("action")="del" then set fso=server.CreateObject("scripting.FileSystemObject") [...]
FSO的FolderExists方法,作用是如果指定的文件夹存在,则返回 True;如果不存在,则返回 False。 代码示例: 1 2 3 4 5 6 7 8 <%dim fso ‘定义变量名FSO Set fso=CreateObject("Scripting.FileSystemObject") ‘建立一个FSO对象 if fso.Folderexists("F:\WebSite files\wwwroot\fso") =true then ‘使用FSO的Folderexists方法判断该文件夹是否存在 response.write("Yes") ‘存在,则输出Yes else response.write("No") ‘不存在,则输出No end if %>
FSO是VBScript的一个文件系统对象,它不像VBScript的其他对象如Response\Request是内置的,所以在使用FSO之前首先要创建FSO对象。 1 2 3 <% Set fso = Server.CreateObject("Scripting.FileSystemObject") %> FSO对象创建成功,接下来才能使用FSO对象的诸多方法,如:CopyFile、CopyFolder、CreateFolder、CreateTextFile、DeleteFile、DeleteFolder。下面示例如果使用FSO对象的CreateTextFile来创建一个文本文件。 1 2 3 4 5 6 7 <% Dim fso, MyFile Set fso = CreateObject("Scripting.FileSystemObject") Set MyFile = fso.CreateTextFile("f:\website files\wwwroot\testfile.txt", True) MyFile.WriteLine("This is a test file.") MyFile.Close %> 运行这个ASP文件,会在F:\website file\wwwroot文件夹内创建一个testfile.txt,内容为This is a test file。
声明变量可以使用Dim语句、Public语句和Private语句。示例: 1 2 3 4 5 <% dim a a = 1 response.write a+2 ‘因为变量a=1,所以输出结果=3 %> 也可以同时声明多个变量 1 2 3 4 5 6 7 <% dim a dim b a = 1 b = 2 response.write a+b %> 或者将两个变量写在一行,用逗号隔开 1 2 3 4 5 6 <% dim a,b a = 1 b = 2 response.write [...]
网站登陆设计中,我们一般做一个Login.asp用于登陆,checklog.asp用于检测登陆,Index.asp是登陆成功后进入的后台页面。在我们编写网页木马的时候,这些页面基本上要合并在一个asp文件中。 以下示例,如何将两个文件合并在一个ASP文件里。 1 2 3 4 5 6 7 8 9 10 11 12 <% if request.cookies("password")="robinyu" then ‘———–if条件语句开始——— dim cpath,lpath set fsoBrowse=CreateObject("Scripting.FileSystemObject") if Request("path")="" then lpath="/" else lpath=Request("path")&"/" end if cpath=Server.MapPath(lpath) ……. %> 以上是登陆成功后显示的内容,以下是如果登陆信息不正确,则返回一个登陆框。 1 2 3 4 5 6 7 8 9 10 <%else call login ‘登陆不正确,则调用预先封装的login过程 %> <% sub login ‘————–开始定义login的内容———– if [...]
VBScript可以将子程序封装起来便于调用,子程序(过程)是写程序的时候自己定义的,如果你有一段程序代码在多处要调用,为了让程序代码整洁,可以定义一个过程,在需要使用的地方直接调用这个过程。 VBScript提供两种封装方法,Sub和Function。 Sub封装方法: <% Sub Name …..Your code……. End Sub %> Sub封装时不可以在一个Sub End Sub里嵌套一个Sub。 调用方法: <% call name %> 比如用在一个if条件语句中: <% if……… call name1 else call name2 end if %> Function封装方法: <% Function myfunction() some statements myfunction=some value End Function %> 调用方法: <% name = findname() %>
一个大学教授举例向同学们讲述了GDP是如何增加的: 简单的说,GDP就是三次产业增加的总和。打个比方,某人开车从朝阳区到海淀区,如果平安到达,是不产生GDP的。如果出了车祸,就会需要保险公司理赔,需要修车铺修理,如果车灯等零件坏了,汽车配件公司的产品也有了买主了,经过几天的忙碌,车子修好了,北京的GDP也就增加了。 在网上看到这样一个笑话: 师兄和师弟是学经济的,一天两人在公园散步遇到一陀屎,师兄打趣的说,你要敢吃了它,我给你5000万。师弟计算了一下,觉得值得,于是把屎吃了下去得到了师兄的5000万支票。可是屎并不好吃,虽然得到了支票却对师兄特别不满,这时又遇到一陀屎,于是反问师兄,你敢吃吗?你吃下去我也给你5000万,师兄正为失去的5000万后悔不已,二话不说将屎吃进肚里,收回了5000万。又走了一阵,两人觉得不对劲,每人白白吃了一陀屎什么也没得到?他们感到不解,于是去找师父。师父听后激动的竖起一只手指:“1个亿啊,1个亿,你们为国家GDP增长作出了一个亿的贡献。“ 近年来GDP每年都有增加,却很少有人真正感觉过得比去年滋润,于是有了一种声音,认为GDP是骗人的。这个故事大概就是他们编出来的。 如果师兄二人把吃屎的报酬定高一点,比如吃一口5000亿,那么二人就可以边吃边数五千亿,一万亿,一万五千亿了。 GDP一个基本且重要的概念在这个故事中忽略了,那就是“常住单位”,GDP是我国所有常住单位一定时期内生产活动的最终成果,常住单位是具有经济利益中心的经济单位。这个经济单位需要具备如下三个要素: 1,拥有一定的经济活动场所 2,具有一定的经济活动规模 3,具有一定的经济活动时间,一般在一年以上。 基于这三个要素来分析上面两位师兄弟的吃屎行为到底有没有给国家带来GDP呢? 1,他们拥有一定的活动场所——公园。 2,此次活动相当具有经济规模——1个亿。 3,一年以上的经济活动时间,很显然这一点不符合。他们只是突发奇想尝了这么一下。 所以我们不提倡以这种形式为国家的GDP作贡献。
病毒程序与正常的应用程序在启动时有很多区别,有些非常明显的区别可以被发现,例如:通常一个应用程序在最初的指令,是检查命令行输入有无参数项、清屏和保存原来屏幕显示等,而病毒程序则通常是最初的指令是直接写盘操作、解码指令,或搜索某路径下的可执行程序等相关操作指令序列。启发式代码扫描技术实际上就是把这种经验和知识运用到一个查杀病毒软件中的具体程序体现。