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

编程10000问
如何用POP3接收电子邮件?
如何用组件实现自动发送电子邮件?
如何编写翻页函数?
如何分页显示数据库查询结果?
如何实现全文检索?
如何用FileSystemObject组件来做一个站内搜索?
如何做一个文本搜索?
如何做一个只搜索本网站的引擎?
如何实现歌曲在线点播?
如何实现网上考试?
网上考试设计思路是怎样的?
可以让程序告诉我详细的页面错误和数据库连接错误吗?
如何把Recordset转换成彩色的XML文件
如何把URL和邮件地址转换为超级链接?
如何把一个Excel文件放到ASP页面中去?
如何把中文转换为UNICODE?
如何编写TOP 10之类的排行榜?
如何动态添加Form项?
如何读取一个.ini文件?
如何计算ASP页面的载入时间?

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 34 ::
收藏到网摘: 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