|
2、使用组件加密asp
以上被screnc加密过的程序,是可以解密的(解密方法下文有介绍),如果你想彻底保护自己的asp代码,可以通过开发activex dll组件的方法进行保护。
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服务器上运行这个安装文件,把组件安装到服务器上。
|