网站安全之ASP程序加密解密方法全面解析

时间:2007-10-06 23:41:21   来源:  作者:  编辑:海

  Dll文件是被编译过的机器代码,如果没有源项目文件,是不可能被反编译的,所以组件加密这种方法最安全,也不可能被破解。下面我们来举例说明操作过程,例如你要保护以下asp代码:

以下是引用片段:
  set rs=server.createobject("adodb.recordset")
  sql="select * from gq where xs=1 order by date asc"
  rs.open sql,conn,1,1
  if rs.eof and rs.bof then
  response.write"<A HREF=new0.asp?lbid=gqx ><%= gqx %></A>"
  else
  Response.Write ""
  end if
  set rs=nothing
  conn.close
  set conn=nothing


  可以把它们改写成VB组件,然后在ASP文件中调用组件即可。操作步骤如下:

  (1)新建一个vb6的activex dll项目

  在属性窗口中,命名你的库模块和项目文件(例如项目名lacl,模块名disp),以后在asp文件中,调用的对象名将为lacl_disp

  选择vb6中的项目菜单中的references ,选中microsoft activex data objects 2.0 library

  (2)编写VB组件

  接下来把<欲保护的asp代码>改写成VB组件,代码如下:

以下是引用片段:
  public function html_combo(disp_table 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 * from " & disp_table & " where xs=1 order by date asc"
  '以上是在VB中打开数据库操作,数据库中的表名、字段名,你可以根据自己的需要修改
  conn.open "dsn=sumnet"
  rst.open sqlstring, conn, 3, 3
  if rst.eof and rst.bof then
  outstring = "还没有这类单位信息"
  else
  rst.movefirst
  outstring = "<A HREF=new0.asp?lbid="&request("lbid") & "></A>"
  end if
  html_combo = outstring
  rst.close
  conn.close
  end function


  写好以上VB代码后,保存项目并开始编译。

  (3)生成安装文件

  打开visual studio 6中附带的package deployment wizard程序,选择刚才建立的activex项目文件lacl;选择package,选择要打包的脚本或使用默认脚本,选择标准安装,为生成的安装文件选择一个存放目录,选择single cab. 其他均默认;然后单击下一步,安装文件就自动生成了!

  (4)在IIS服务器上安装组件

  在IIS服务器上运行这个安装文件,把组件安装到服务器上
 (5)在网页中调用组件

  以后在ASP文件中,通过调用该组件完成原来的功能。在网页中调用你制作的组件,方法如下:

以下是引用片段:
  <%@ language="vbscript" %>
  <%
  set diaoyong = server.createobject("lacl_disp.disp")
  %>                          
  <html>

关键字:网站安全,加密解密,方法

相关文章

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面