【VC++开源代码栏目提醒】:以下是网学会员为您推荐的VC++开源代码-用VB60实现ASP源代码的编译 - 期刊论文,希望本篇文章对您学习有所帮助。
苇5期 2003年Io月 电 脑 学 习 用VB6.O实现ASP源
代码的编译 许高松 仍f凸 摘 要 介绍用VB6.0实现ASP源
代码编译的方法。
关键词 VB60 ASP 源
代码 结译 Us.mg VB6.O t0 CoI叩ile ASP S叫rce COde Xu G9四哩 Abst忸ct Thi8 pape‘p嘲e山the metllod8 0f酗itlg VB6.0 t0 co“lpile ASP sou腭e∞de. Keyword VB6.0 ASP So啪e code Comp诅e AsP是一种纯文本格式的脚本语言,很容易被恶意攻 组件的首选工具。
这种服务器端组件的运行方式般为:读 占者利用系统本身的漏洞获取AsP源
代码,进而得到诸如 入客户端在web页面上输入的数据,处理后再将结粜返回 系统数据库的帐户、口令等一些重要信息.从而给系统的正 给用』o。
常运行造成威胁,使
系统的安全得不到保障;此外,ASp是 2编译AsP的内置对象 一种解释性的脚本语言,系统在运行时需要将嵌入AsP文 AsP提供了Ap汕ca“on、Reque毗、Response、scrvcr、ses一 州中的
代码片段编译为机器语言后才能执行相关的指令, 8ion等基本的内置对象。
通过这些对象的灵活使用,l可以制 斟此,在‘定程度上影响了程序的运行速度。
鉴于此,笔者 作出许多动态的网页效果。
用vB同样可以使用这些对象。
采用vi8ual B聃ic6.O对AsP源
代码进行编译,较好地解决 先在VB6.O中建立一个Ac廿vex DLL工程(例如:设置L程 丁}‘述
问题,取得满意的效果。
名为MyP叫ect,类名为MycIB锚)。
从菜单中选择”二L程”.在 】AsP服务器端维件 其中的”引用”窗口中选择”Micros硪Acdve Se—eJ Pa鼯s 用vB6.0编译ASP脚本源
代码的过程实际L是将由 Object“hmry”选择项。
为了在Mycla鹏类中使用的AsP中 AsP脚本语句实现的功能替换为用vB编写的AcⅡvex 各个对象的方法和属性,则必须先声明一个OnsEar【Pa龋() Du组件,即一个在web服务器上运行的DLL(DyIl肌ic 函数,其
代码如fF: Llnk Library)组件,它可以完成常规的AsP所能胜任的任 PIiv8k MyBcripdne∞nle耐AB Scriptjn舻onten 何J.作。
由于这个DLL是由AsP调用、并在Web服务器端 Privale MyaI巾l啪lion^s Appbc毗ion 蹦删e My咖uc¨A8 R。
queBl 运行的,因此称之为AsP服务器端组件。
这种DLL组件可 M四AB‰er 蹦v时e M”妊pon神As Re9P0n钾 以和服务器引擎(如微软的1ls、Pws)自带的其他Achvex Pivme 绷件一样,由ASP在需要时调入内存,实现一定的功能并 Hvak MⅧi∞灿铡0『l 可以重复利用。
用vB、
vc、Delnlli等支持cOM技术的编程 Publjc Sub OⅡ吕t丑I’p8学(nLB8ed驰“p‘ingconte砒^B Scdpti“轷onlexI) 语言均可编写DLL组件,由于在AsP中广泛使用的vB— set My8criPd“萨叫眦I=P日BsedBcdpIingc帆te砒 scdpt本身是vB语言的一个子集,在编程规范上与vB是 set Nlyapplicni帆:Mywdplingcontex【.^pPhcati)n 一脉相承的,凼此,笔者将vB6.0作为编写AsP服务器端 set My。
equ髑t=My∞dpti“萨on把xL Req唰 巨大的。
使用adduserB可以把所有帐户资料预先备份出来, 1:作效率。
另外,也从一个侧面反映了服务器的管理足奥妙 再次安装时直接从备份文件中创建帐户就可咀了。
备份帐 无穷的,也是趣味无穷的。
户时,addu靶瑙的使用格式如下: 参考文献 HdduBer8/a备份文件 1李劫,Windows 2000 server组网与安全配置手册 北 箭令执行后生成的备份文件格式和前面介绍的账户文 件格式足一致的。
京:中国青年出版社,砌.7 2李劲.Window8 2000 ser忙r
网络管理手册,北京:中国 以J.是windows 2000服务器帐户营理方面的一些技 青年出版社,2001.1 乃。
这些技巧的使用,能够大夫减少管理员的
工作量,提高 许岛挫江苏省掉州出入境检验检疫局工程师(2150。
0) 收稿日期:2003_03—05 ·27 · 鼬My坤8po∞e=My∞一ptin铲硼删.R.5日ptm∞ my8td昭=”晰;妇=sQLoLEDB.1;№w砌=pwd;u酬D;u虻P啪i8【‰MyB肿廿;Myec五pti嶝呻吣^sen盯 &删五n l证临‰,seI M,#喇沁n=My鲫^pti唧叭州-se8正帆 m”蛐.CollllecⅡ删S晡“g。
mym打ngEnd Sub ⅡIycnn.Open 这里的My8cdpbogcontext对象包含了全部ASP的方法 my8eI ActiveCo叫删ion_Ⅱ弹肺和属性,在VB中用My印plic血0n、My。
queBt、My瑚pon神、 myBql=“sel州姓名蛔学生表whem学号=“&My嘲u州.Fh皿r SludenⅡn1+¨”My8eHer、Myse蛐ion对象分别替代了AsP中Appucanon、 myBel.OPe“。
婶BqlRequest、R髑pon鸵、&眦、se8日ion对象a在VB中使用这些 Sd GetR∽o王d!my解t对象的方法和属性与AsP中是完全相同的。
这样,当用户 End Funcdon访刚带有此组件的AsP文件时,服务器引擎便能使用所有 编译生成MyPmject.叫,注册后在AsP文件中插入如卜的AsP对象了。
例如,F面是一段显示用户输入的学号的
代码:AsP
代码; <%<% Uim MvR啪孵IM”锄p5Requ曲I.F0肿rst叫enⅡD’ set MyOq钟I=蜘r哪.c陀岫bjecI rM删ecl.Mych’趾Bp删.wdIe r您的学号是”&My‘唧&”!。
) s越MyR蚺靶I=serv扎c刚eo哳钟t(。
^DODB.Record哪’%> set MyR牌特I=Myoqect.GdR∞叽d《) 在vB中的实现方法为: 鼬8pD蛳.wdte MyR钟6et.丘ddB(o) %)PIlMk Sub YourBsludentID(1MyIen啦。
My他qu脚L F(啪(’Slud帅tLD’ AsP文件在执行时将在客户端显示查询到的第一条记MymBpon眈.wdte{’您的学号是馒M”。
呷&。
!’) 录的内容。
如需在数据库的记录表中插入数据,可以按如。
FElld sub 的方法实现: 编译后生成Myproject.DⅡ组件。
在AsP中调用此组件 Pu“k F明枷nnIn幽舯ord(J之前首先要用window8的Re剿r32.Exe
程序对其进行
注册。
然后,在AsP中写入如下
代码: “y∞t.hkb∞=d砒opti“sllc<% 。
ny岫t.curso门如:8dOpenDy衄IllicscI Myob_i盹t:serv町.c瑚‘e幽icct rMyp叫ect.M撺I啪’ mpql=。
sd∞I+f哪学生表。
M,出j日.YⅫ舳dⅢu) my8etopen“ysql%> mvm.Add~ew 唧眺t.“eld吖学号’=My‘equ岫【.如咖rstudentII,。
】 运行的结果与原先的^sP
代码执行的结果是完全相同的。
my解1.FiddB(。
姓名’=Myreq峭【.F唧一l们enLN四,) ow惦t.Up山Ic 3对数据库的操作 mv*I.cI四 在vB中通常采J}j ADO(Ac旺vex Dat8 Obiect)的方式 End Suh对数据库进行操作。
ADO基干OLE DB技术,提供一套简 参照类似的方法.还可以对数据库记录表中的数据进单、高效的数据库接口,可以与sQL SewehOⅢk、syba驼、 行修改,更新、删除等操作。
FoxPro、Aece髓等大多数数据库进行连接。
AD0的核心足 用VB还能实现AsP的很多功能,在此仪仪是抛砖引connecbon、Record鳅和co删nd对象,在用vB编写AsP 』三。
总之,使用VB6.0对AsP源
代码进行编译生成服务器服务器组件时,首先在所建立的类模块的8工程”菜单中选 端组件的方法,不仅能够提高服务器端的执行效率,而H对择引用”M池Ds_m Acbvex Da忸Object 2.1 ub邢,,然后通 于充分保护
软件开发者的劳动成果、保障系统和数据库的过使用这砦对象的方法和属性,实现对数据库的连接和操 安牟都将起到很好的作用。
作。
参考文献 例如.进行一个数据库的
查询操作,可以输入如下
代码: 1刘圣爿,李春葆著.VisuaI B8dc 6程序
设计导学.北京:Publk Fun州on GdRec0Id f 1 As H钟oId鸵t 清华大学}}1版社,2002.1D|mmvc肌AB Connection 2 waync F飕e嬲(美)著.vi丑I皿l R船缸数据库编程宝典.Dim my骈t As fkmd自H 北京:电子工业出版社,2001.5Dim mys删ng如S曲培Dim mysql As 3汪斌等著VBscd畔弓JscdPt实例教程.北京:电子1一 S晡Ilgsel mvcnn=New AIJODB.CoⅢI刚i叽 业出版社,2000.11Set mv删=New^1)oDB Re咖rd蛳t·28 ·