加入收藏
联系我们
关于我们
 您现在的位置: 亿聪 >> 网络学院 >> 网络编程 >> ASP >> 正文  
  使用组件来保护你的ASP代码         
使用组件来保护你的ASP代码
[ 作者:未知    转贴自:未知    点击数:2587    更新时间:2004/9/5    文章录入:亿聪 ]
以前大家谈了很多有关打开数据库连接安全的问题,现在我再提出一种思路使用ActiveX DLL来保护你的代码。(既可以不用为使用共享的加密软件而发愁,更重要的是可以自己来顶制加密方法了,享受一下“一切尽在掌握之中”的感觉。同时也为了让大家都自己动手来做出自己的组件来。)

ActiveX DLLs是被编译过的机器代码,如果没有源项目文件的话是不能够被编译的。这个技术使得开发者有可能开发出公共的自动化程序,并且把它们作为shareware版本的程序发布这个大家在chinaasp中销售的一些组件中就可以看到这个技术的运用。

如果你想保护你的ASP中的一些代码的安全,例如你不想让别人看见你是使用什么连接到数据库的,或者不想让别人看到你的某个比较重要的函数是怎么完成的,或者某个重要的流程(cAkk可以参阅),你就可以通过不断的开发你自己的组件,这可是个dll文件,就是别人得到了这个dll文件,一时半会也根本不能够得到你要保护的重要信息。而且你自己开发的这些组件给你的程序带来了源源不断的新功能。

下面就举一个很常用的,大家都很关心的有关如何保密打开数据库的过程的例子。例子很简单,就是在一个下拉框中显示数据库中某个字段的内容。

整个过程如下:
1、新建一个VB6的ActiveX DLL项目
2、在属性窗口中,命名你的库模块和项目文件。例子中为keiths_lookup项目名和lookup模块名,这些名字是你在ASP中将引用到的dll函数名(在ASP中的对象名将为keiths_lookup.lookup)。
3、将项目和库模块使用同样的名字存盘(当然了,后缀是不能够一样的哦)。
4、从VB6中的项目菜单中选择References .然后选中Microsoft ActiveX data objects 2.0 library, Microsoft ActiveX Data Objects Recordset 2.0 library.

文件的代码如下:

Public Function html_combo(comboname As String, Lookup_field As String) As String
  Dim outstring As String
  Dim conn As ADODB.Connection
  Dim rst As ADODB.Recordset
  Dim sqlstring As String
  Set conn = CreateObject("ADODB.Connection")
  Set rst = CreateObject("ADODB.Recordset")
  '下面这些数据库中的字段名只是为这个例子设的,你完全可以根据自己的需要修改代码
  Sqlstring = "SELECT [Lookup_Description],[Lookup_Key] FROM _
  [Lookup_Table] WHERE [Lookup_Field] = '" & Lookup_Field & "'"
  '在这可输入你连接数据库的用户名和密码,现在就算客户端看见了ASP源代码
  '他也不可能知道你使用的是什么密码了,呵呵
  conn.Open "DSN=Sumnet;UID=;PWD=.;"
  rst.Open sqlstring, conn, 3, 3
  If Not rst.EOF Then
    rst.MoveFirst
    outstring = "<Select name='" & comboname & "'>"
    Do While Not rst.EOF
      outstring = outstring & "<Option Value='" & rst.Fields("lookup_key") & "'>" & _
      rst.Fields("lookup_description") & "</Option> "
      rst.MoveNext
    Loop
  End If
  outstring = outstring & "</Select>"
  html_combo = outstring
  rst.Close
  conn.Close
End Function

代码结束,呵呵,基本上没什么技术难点把,现在保存你的项目并且开始编译工作。编译成DLL文件后,拷贝到WINDOWS的SYSTEM(WIN2000后拷贝到SYSTEM32目录下),在运行菜单中输入REGSVR32.EXE C:\WINNT\SYSTEM32\first.DLL(路径自行替换)来注册编译的DLL。

下面给出如何调用你自己做的这个组件的代码:

<%@ Language="VBSCRIPT" %>
<%
Set look = Server.CreateObject("keiths_lookup.lookup")
%>
<HTML>
<BODY>
<%=look.html_combo("State","States")%>
<BR>
<%=look.html_combo("Position","Positions")%>
<BR>
<%=look.html_combo("Age_group","Age_Groups")%>
</BODY>
</HTML>

你看,asp如此的简单,谁看见了源文件你都不用担心了,可以看到,使用ActiveX DLL技术可以很好的保护你的重要的代码,你需要安全的部分,但我可不希望以后大家都牢牢地看住自己的代码不愿意公开了,毕竟国内的软件行业还远远落后,需要大家齐心协力才能够一起进步呀。
  • 上一篇文章: 利用代码实现对IP的访问限制

  • 下一篇文章: 利用Visual Basic把ASP编写成DLL
  • 发表评论】【告诉好友】【打印此文】【关闭窗口
     最新5篇热点文章
  • Knoppix 4.0.2 免硬盘免安…[15797]

  • 通过ASP记录进行分页[20012]

  • ASP开发准则[11932]

  • ASP组件指南[11943]

  • ASP指南[11967]

  •  
     最新5篇推荐文章
  • Knoppix 4.0.2 免硬盘免安…[15797]

  • 如何让Win 2003系统更加安…[13301]

  • Nero超刻简明教程[34139]

  • PS商业实战-来杯茶,行吗?…[7255]

  • ASP深度揭密(下)[12555]

  •  
     相 关 文 章
  • 利用Visual Basic把ASP编写…[2478]


  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论
    设为首页 | 加入收藏 | 关于我们 | 联系我们 | 友情链接 | 版权声明 | 管理登录
    Copyright © 2000-2022 Yicong.com.All Rights Reserved.
    亿聪 版权所有 E-mail: