首页 | 通行证 | 论坛 | BLOG | 书评 | 开发文章 | 人才招聘 | 资讯 | 工具下载 | 源码下载 | 项目交易 | 兴趣小组 | 网友作品 | C语言试题测试 | 资源共享 | ACM题库

注册新会员

请登陆或者注册新用户   用户名    密  码   记住密码  注册新用户  忘记密码了

 您所在位置:论坛首页ASP讨论区 — asp代码封装技术
 本帖地址: http://bbs.pfan.cn/post-262319.html [复制地址] [搜索相关帖子]
  发 新 帖   回 帖   快速回帖
 主题:asp代码封装技术
作者:sungfeng21
专家分:330
级别:2
 会员信息
 发短消息
 所属BLOG
发表时间:2007-12-15 10:13:00    [回复]  [只看作者帖] [只看得分帖] [只看我的回帖]
楼主
大家都知道ASP是解释运行的,这样如果使用的不是自己的服务器很容易将源代码泄露出去,那么怎么才能保证其安全呢。

最好的办法就是将ASP代码封装起来。以DLL文件存放在服务器上。这样就没办法进行查看了

但是封装代码不能是全部代码,您只能封装ASP部分代码,建议您封装其核心代码。

我们建议您使用VC来封装它。因为如果使用VB来封装的话则服务器上必须具有VB的运行库才可以。

这里只是演示,所以我们采用VB



(1)启动你的VB,选择ActiveX图标.这个图标可以在新建工程找到!VB会提供一个默认的工程名(project1)和类名( class1).我们会将这两个名字都改掉。在改名之前,请首先确认我们拥有Microsoft Active Server Pages Object Library,它在我们的程序非常有用.从菜单中选择"工程",然后在其中选择"引用",就会出现"引用"窗口从中选择Microsoft Active Server Pages ObjectLibrary。

      (2)给工程和类命名,现在我们来根据自己的爱好来为project1和class1来命名吧!给它们命名也是很重要的,我们以后会用这个工程名和类名 来创建这个组件的实例!后面详细介绍。如何改名,我就不想多说了!我们的工程名改为test,类名为helloworld。
      (3)在类中输入以下代码:
Option Explicit
Dim rp As Response
Dim rq As Request
Dim ap As Application
Dim sr As Server
Dim sn As Session
Public Event OnStartPage()
Public Event OnEndPage()

Public Sub OnStartPage(mysc As ScriptingContext)
     ''进行对象的实例化
     Set rp = mysc.Response
     Set rq = mysc.Request
     Set sr = mysc.Server
     Set ap = mysc.Application
     Set sn = mysc.Session
     rp.Write "<br>ActiveX DLL组件已经被创建了!<br>"
End Sub

Public Sub OnEndPage()
     rp.Write "<br>ActiveX DLL组件已经被销毁!<br>"
     ''销毁对象
     Set rp = Nothing
     Set rq = Nothing
     Set sr = Nothing
     Set ap = Nothing
     Set sn = Nothing
    End Sub

Public Sub helloworld()
     rp.Write "<H1>Hello,World!</H1>"
End Sub
       现在一个小型的组件编写完成,剩下的工作就是编译这个组件,在"工程"菜单中保存它,取什么名字都可以,我们用test.vbp吧!然后就用在“文件”菜单中选择“生成 test.dll”,将其编译成DLL文件.一个组件就真正完成了! 
      (4)生成好组件,下面需要注册组件。注册组件可以从“开始-运行”里面,输入“Regsvr32 E:\test\test.dll”路径当让是用自己的路径啦。
      (5)编写asp页面,新建一个test.asp页面,输入以下代码:
<HTML>
<HEAD>
<TITLE>test</TITLE>
</HEAD>
<BODY>
<%
Set ObjReference=Server.CreateObject("test.helloworld")
ObjReference.helloworld
%>
</BODY>
</HTML>
     (6)发布到IIS下面,访问一下就可以看到效果啦。

怎么样新动了吧,去试一下哦

 

 

签名档
老兄别忘了给我加分哦!!!!!!!!!!!
    天降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行指乱其所为,所以动心忍性,曾益其所不能。
0
作者:a97191
专家分:4030
级别:21级别:21级别:21级别:21

发表时间:2007-12-15 10:49:00    [回复]  [引用]
1 楼  

 

签名档
承接网站设计,软件开发,如有意 qq:83428970
  此帖尚未评分
作者:wyj82
专家分:10
级别:1

发表时间:2007-12-24 10:46:00    [回复]  [引用]
2 楼  
hao,我正找呢,谢谢大哥

 

  此帖尚未评分
作者:webhost862
专家分:190
级别:1

发表时间:2008-3-23 22:32:00    [回复]  [引用]
3 楼  
  此帖尚未评分
作者:gezhenqiang
专家分:300
级别:2

发表时间:2008-3-28 13:50:00    [回复]  [引用]
4 楼  
  此帖尚未评分
作者:zeng8205
专家分:0
级别:1

发表时间:2008-4-22 10:54:00    [回复]  [引用]
5 楼  
请问下楼主:
如果要封装数据连接和用户验证那部分要怎样?
我试了,用VB调用ADO连接ACCESS生成的DLL,正常使用.
但换成使用ASP的些方法  Set rp = mysc.Response
     Set rq = mysc.Request
     Set sr = mysc.Server

就使用不了.?

 

  此帖尚未评分
作者:lovejinq
专家分:0
级别:1

发表时间:2008-4-23 20:55:00    [回复]  [引用]
6 楼  
学习中

 

  此帖尚未评分
作者:wuhanpeipei
专家分:0
级别:1

发表时间:2008-5-21 19:51:00    [回复]  [引用]
7 楼  
很好   非常感谢 !

 

签名档
null
快乐每一天!
  此帖尚未评分
[首页] [上页][下页] [尾页]     共有 7 回帖 当前第 1 页(共1页 20帖/页)     跳转至第
  发 新 帖   回 帖   快速回帖   刷新版面

版主管理:  删除此帖   删除回复帖   转贴   置顶   取消精华   强制结帖   >>>进入管理页面


关于本站 - 网站导航 - 广告服务 - 联系站长 - BUG报告 - 友情链接 - 赞助本站
Copyright© 1999-2008 Programfan.com. All Rights Reserved
论坛制作&维护:Hannibal    Email: webmaster@pfan.cn
最佳浏览效果:IE6.0+ 或 FireFox 1.5+ 分辨率:1024*768