当前位置: 首页 > 图文教程 > 网络编程 > 编程10000问 > 为什么用磁盘序列号加密过的代码不能被复制安装?

编程10000问
如何计算下载一个文件需要多长时间?
如何检测用户第一次访问我的网站并显示友好信息?
如何判断URL格式是否符合规范?
如何取得服务器上的用户组列表?
如何显示数据库的结构?
如何显示最后十名来访者?
如何显示随机信息?
如何向前端推送用户请求的信息?
如何修改被表单引用的ASP页面?
如何验证IP地址?
如何用ASP建立Index Server查询对象并为其参数赋值?
如何用ASP输出HTML文件?
如何用表单的方式推送请求的信息?
如何远程读取数据库页面?
如何在ASP里显示进度条?
如何自动更新导航栏?
如何阻止别人非法链接你网站的图片?
怎样获知数据库的连接属性?
如何按时间显示最新标志
禁止站外提交表单(author:killer)

编程10000问 中的 为什么用磁盘序列号加密过的代码不能被复制安装?


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 33 ::
收藏到网摘: n/a


default.asp
html
head
title>星河影动之磁盘序列号加密代码存取管理</title
/head
% dim conn,fs,f
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "driver={Microsoft Access Driver (*.mdb)};uid=;pwd=3302;dbq="&server.mappath("id.mdb")
set fs=server.createObject("scripting.filesystemobject")
testDrive=Server.MapPath("/DRIVEINFO.ASP")
'
通过MapPath获得当前盘盘符.
testDrive=Left(testDrive,3)
set f=fs.getdrive(testDrive)
'
调用GetDrive方法赋予驱动器一个变量.
Mysql="select * From driveinfo where id=1"
set rsCheck = Server.CreateObject("ADODB.Recordset")
rsCheck.open Mysql,conn,1,1
FSER=trim(f.serialnumber)
'
获得当前盘序列号.
StrSerno=trim(rsCheck.fields("SERNO"))
StrMark=rsCheck.fields("WRIMARK")

' Wrimark值为0表示代表合法用户未安装系统,值为1代表该系统已安装.值为1且序列号与当前盘不符时,则判定为非法复制用户
if StrSerno
<>FSER and StrMark=0 then
'
如是第一次安装,则设置写盘标志为1.
session("pass")=true
'
定义用户Session,并设置为全局ASP文档标识变量.
set rsMain = Server.CreateObject("ADODB.Recordset")
Mysql1="update driveinfo SET SERNO="&FSER&", WRIMARK=1"
rsMain.open Mysql1,conn,1,2
response.write("
a href='success.asp'>安装成功!欢迎光临随风起舞存取站点!/a"
set rsMain=nothing
else
if StrSerno=FSER then
'
合法用户可再次进入.
session("pass")=true
response.write("
a href='success.asp'>再次欢迎!您已被随风起舞授权,允许进行存取.../a"
else
'
非法复制用户.
session("pass")=false
response.write("
a href='fail.htm'IT IS ILLEGAL TO COPY THE WEBSITE'S ASP DOCUMENT. YOU ARE NOT RIGRT TO USE THE PROGRAM./a"
end if
end if
set f=nothing
set fs=nothing
%

/html