快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

 以前大家谈了很多有关打开数据库连接安全的问题,现在我再提出一种思路:使用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编程经典例子
下一教程: ASP与ADO RECORDSET对象的错误原因

您可以阅读与"使用组件来保护你的ASP代码"相关的教程:
· ASP系列讲座(七)使用组件和对象
· 保护你的ASP页面的两种办法
· ASP系列讲座(七)使用组件和对象
· 使用组件封装ASP的数据库操作
· 让使用者可以看到你的ASP的原代码
    微笑服务 优质保证 索取样品