可能被反编 译的,所以组件加密这种方法最安全,但也不是完 全不能被破解的。但这种方法
工作量特别大,既 要把ASP源代码用VB6生成组件,又要在IIS服 务器上安装组件,还要在网页中编写调用组件的 代码。最大的缺点在于如果需要对源代码进行改 动,又要重复上述过程,这对于程序的推广及修改 是最大的障碍。 利用ASP代码对ASP程序进行保护,如可采 用在源代码加人运行次数限制、时间限制、IP绑 定、域名绑定、远程服务器授权、后门等多种方法 来实现。对于ASP编程高手来说也许不能有效 的防范,但是对一般的使用者是足以防范,可有效 地杜绝
系统被非授权使用,从而达到ASP程序知 识产权的保护。 运行次数限制:在数据库的某张表里存储了 ASP
程序中的某个页面被访问的次数,当达到一 定的次数则终止程序的执行。 记录页面代码:
<%
set
rs=conn.execute(sql)
count=rs(”visiter”)
if count<200 then
Response.Redirect(“abe.asp”)‘小于指定 次数(200)转向正常页面
Else
Response.Redirect(“cba.asp”)‘大于指定 次数(200)转向警告页面
End If
%>
时间限制:在数据库的某张表里存储了终止 ASP程序的执行时间,在程序的关键页面检测这 个执行时间,当大于这个时间,则终止程序的执 行。
<%
’
检测页面代码:
sql=”select Date from
Da”‘在Da表中Date
字段已记录最后使用13期
set
rs=conn.execute(sql)
conn=server.createobject(”ADODB.con?
count=1"3(”Da”)
nection”)‘连接数据库
pl=”Provider=Microsoft。Jet.OLEDB.4.0:
Data Rq
2
date
Source=”&Server.MapPath(”count.mdb”)
corm.open pl dim visiter dim sql dim
rs
if count—rq>O then
Response.Redirect(“ab.asp”)‘不到指定t3 期转向正常页面
Else
Response.Redirect(“ba.asp”)‘超过指定日 visiter”‘在visiter表 期转向警告页面
End If
sql=”select visiter from
中visiter字段记录使用次数
set
r8=cofln.execute(sql)
%>
count=rs(”visiter”)
IP绑定、域名绑定:在数据库的某张表里将
9
万方数据
思茅师范高等专科学报
存储可以执行程序的IP地址或域名,请使用者告
知将使用的IP地址或域名后,填在此表中,则授 权用户可以使用。 检测页面代码:
<%
●●●●●●
当远程服务器处理文件收到用户IP及目录 等内容,把它写入远程服务器数据库,可自动发出
允许对方后继文件执行的代码,让文件转回用户
IP及目录内执行。 远程服务器处理文件:
<%
sql=”select IP from
IP”‘在IP表中IP字段 tt=Request.Q
ueryString(”tt”)
set
已记录指定IP或绑定域名
set
rs=COBB.execute(sql) set”)
rs=server.createobject(”adodb.record— sj
where tt is null’’
count=rs(”IP”) tl=Request.ServerVariables(”SERVER— NAME”) t2=Request.ServerVariables(”SCRIPT— NAME”)
tt=”http://”+tl+t2 if count=tt then
sql=”select曩from
rs.open
sql,conn,3,3
rs.addnew
rs(”tt”)=tt
rs.update rs.close
Response.Redirect(“a.asp”)‘是绑定域名 转向正常页面
Else
ty=璐(”ty”)
Response.Redirect(tt+“jswj.asp?ty
=ty%>”)
2<%
Response.Redirect(“b.asp”)‘不是绑定域 名转向警告页面
End If
‘tt为用户服务器域名及目录,值为上一文件
由传过来的tt参数值,jswj.asp是用户服务器设
置好的后继处理文件。Ty为远程控制服务器中 的控制字段,这字段值可由
版权所有人修改控制 用户服务器后继处理文件的流程。
%>
%>
远程服务器授权:在程序关键页面中加入远
程服务器访问代码,而远程服务器内将返回允许
对方执行的代码。