使用组件来保护你的ASP代码

原创 2000年08月31日 09:58:00
以前大家谈了很多有关打开数据库连接安全的问题,现在我再提出一种思路
使用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
代码结束,呵呵,基本上没什么技术难点把,现在保存你的项目并且开始编译工作。
1。打开Visual Studio 6中带的Package Deployment Wizard程序。
2。选择你刚才建立的ActiveX项目文件。
3。选择Package
4。选择你要打包的脚本或使用默认脚本
5。选择标准安装
6。选择一个放置你安装文件的目录
7。选择single cab.
8。其他均默认,然后单击下一步
9。现在安装程序完成后,把它拿到你的IIS服务器上安装把。

下面给出如何调用你自己做的这个组件的代码:
  <%@ 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技术可以很好的保护你的重要的代码,你需要安全的部分,
但我可不希望以后大家都牢牢地看住自己的代码不愿意公开了,毕竟
国内的软件行业还远远落后,需要大家齐心协力才能够一起进步呀。

使用组件来保护你的ASP代码

以前大家谈了很多有关打开数据库连接安全的问题,现在我再提出一种思路使用ActiveX DLL来保护你的代码。(既可以不用为使用共享的加密软件而发愁,更重要的是可以自己来顶制加密方法了,享受一下“一切尽...
  • ghj1976
  • ghj1976
  • 2000年08月31日 09:58
  • 1304

ASP.net 代码保护,发布时编译源码

ASP.net较之以前的asp页面,在安全性方面得带了大大加强,不过如果你不够熟悉其用法,就无法将微软提供的安全性发挥得最佳。大家都知道,ASP.net页面可以通过发布的方式将编译后的页面上传到服务器...
  • wobaiwodedukuku
  • wobaiwodedukuku
  • 2016年12月22日 16:58
  • 1217

【Java代码保护技术】Java代码保护开篇

作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWel...
  • AllenWells
  • AllenWells
  • 2015年05月27日 11:54
  • 1296

asp.net(C#)防sql注入组件的实现代码

 from:http://www.codesky.net/article/doc/201004/2010041706888.htm  一些通用的防注入方法中没有对cookie数据进行过滤,会给黑客留下...
  • lillllllll
  • lillllllll
  • 2011年04月21日 18:45
  • 728

asp.net三种发送邮件代码(stmp,无组件邮件发送)

asp教程.net三种发送邮件代码(stmp,无组件邮件发送) public bool sendmails() { smtpclient _smtpclient = new smtpcl...
  • qq_35306193
  • qq_35306193
  • 2017年07月19日 14:19
  • 532

asp无组件下载代码

  • 2014年06月15日 17:29
  • 76KB
  • 下载

ASP无组件上传代码

  • 2008年06月07日 20:23
  • 2KB
  • 下载

asp签到封装组件 签到签退不用写代码

  • 2010年05月24日 17:15
  • 867KB
  • 下载

庖丁解牛纵向切入asp.net3.5控件和组件开发技术(代码)

  • 2009年05月07日 09:44
  • 2.54MB
  • 下载

Asp.net组件深入全书源程序代码-VS2005

  • 2008年09月13日 11:04
  • 13.41MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用组件来保护你的ASP代码
举报原因:
原因补充:

(最多只允许输入30个字)