回 帖 发 新 帖 刷新版面

主题:asp代码封装技术

大家都知道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下面,访问一下就可以看到效果啦。

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

回复列表 (共7个回复)

沙发


板凳

hao,我正找呢,谢谢大哥

3 楼

不错

4 楼

很好!又学到一招

5 楼

请问下楼主:
如果要封装数据连接和用户验证那部分要怎样?
我试了,用VB调用ADO连接ACCESS生成的DLL,正常使用.
但换成使用ASP的些方法  Set rp = mysc.Response
     Set rq = mysc.Request
     Set sr = mysc.Server

就使用不了.?

6 楼

学习中

7 楼

很好   非常感谢 !

我来回复

您尚未登录,请登录后再回复。点此登录或注册