• 帮助
    • 博客
    • 相册
    • 网盘
    • 超市
    • Xer吧
  • 登录
  • 注册
【公告】X5dj广告过滤系统上线    【公告】个人空间首页新增“我的专辑”版块    【公告】新功能“我的专辑”上线,珍藏属于你的美好回忆    【公告】X5dj网站网络硬盘用户使用协议    【公告】X5dj新功能汇总贴:新增“密码目录”功能上线    【公告】X5dj.com相册/网盘上传工具发布    
  • 中国老唐 友情传天下!!!请访问 www.ltang.cn
  • http://www.x5dj.com/tangyyy 复制地址
  • 首页

  • 博客

  • 相册

  • 网盘

  • 人际关系网

  • 我的专辑

loading...
ASP编程经典例子 < 上一篇 下一篇 > 备份指南——Ghost前的系统配置大全
asp作品保护方案
tangyyy 发表于: 2006-03-15 09:20 来源:原创  X度:0  浏览:(511)  评论:(0)
收藏 | 复制地址 | [举报此文章] |  大 中 小 |  引用 删除 修改
asp作品保护方案
作者:无从考证    教程来源:云林网络编收    点击数: 1038    更新时间:2005-11-18    
 自从ASP(Active Server Pages)问世以来,因其可以创建健壮易于维护、与平台无关的应用系统,ASP技术受到了越来越多网络程序员的喜爱,使用ASP从事WEB开发的人也越来越多。但ASP只是一种非编译型的、在服务端运行的脚本语言,采用明文(plain text)方式来编写,即使采用了ASP加密程序对ASP源码进行加密,也不一定能保证发布到运行环境中去的ASP应用程序不被非法拷贝。对于高权限的管理员,可以轻而易举从服务器端拷贝出ASP程序应用到别的非授权网站。这样给ASP应用商业化带来了一定的困难。如何有效保护开发出来的ASP程序,本文基于磁盘序列号产生的随机性,结合微软官方免费提供的ASP脚本加密程序SCRENC.EXE,很好地解决了这个问题。 
    磁盘序列号,简称磁盘ID,是对磁盘进行格式化时随机产生的磁盘标识信息,是一个卷序列号。同一机器两次格式化随机产生固定格式的序列号相同几率几乎为零, DOS的后期版本和WINDOWS、WINNT均采用了这种磁盘标识方式,因而磁盘序列号常被运用用于商业化软件进行加密使用。从WINDOWS9.X切换到MS-DOS方式,键入DIR命令后回车,屏幕出现当前卷标序列号信息,这个类似"0A48-1CD7"的序列号是一个16进制数。一些限期使用的软件,在使用期限到了之后,会要求使用者在线申请新的授权序列号(使用许可)。这种授权序列号相当一部分是采用了静态磁盘序列号结合时间产生的。安装完毕之后的软件,程序即使被非法拷贝到非初始安装环境中,也不能使用。 
上述思想用VC、VB及DELIPHI编程语言都容易实现,那么,在ASP中又如何实现呢?VBScript作为一种健壮的、安全的用户语言,是受客户机系统限制的,不能处理客户机上API的调用,也不能直接操纵客户机上的文件和文件系统之外的控件。因而本文采用VBScript并结合ASP内置组件FileSystem来实现上述思想。 以下程序根据具体情况略加修改,可以应用于实际的ASP应用系统。 
作为讲解实例,本文用到Access数据库安全机制,实际应用中,可以用其它格式的文件存放的数据。为便于阐述,我们先建一个Access数据库ID.mdb(密码为"kxj"),内建一个DriveInfo表,数据结构如下: 
id(自动编号) ;
Serno(文本,12,磁盘序列号(10进制)) ;
Wrimark(数字,1,写盘标志,)。

说明 
Wrimark 值为0代表合法用户未安装系统,值为1代表该系统已安装。当值为1且序列号与当前盘不符时,则判定为非法拷贝用户。 
初始化时先定义一个新记录,各字段初始值分别为1,12345678,0。 
在同一目录下,例如C:\INTERPUB\WWWROOT下,放置首页Default.asp,合法用户首页Success.asp,非法安装用户提示页Fail.htm及ID.mdb序列号存放库。 
各ASP文件的编写操作如下: 
1、用FrontPage(或NotePad),新建一个ASP文件Default.asp,录入以下程序代码: 
<html>
<head>
<title>Sample</title>
</head>
<% dim conn,fs,f
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "driver={Microsoft Access Driver (*.mdb)};uid=;pwd=kxj;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")
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’>SETUP 
SUCCESSFUL!WELCOME TO ACCESS THE WEBSITE!</a>")
set rsMain=nothing
else 
if StrSerno=FSER then
’若是合法用户再次合法进入
session("pass")=true
response.write("<a href=’success.asp’>YOU ARE AUTHORIZED BY THE WEBSITE MANAGER,WELCOME TO ACCESS !</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 
response.write("<br>") 
response.write("Volume Serial Number in drive "&testDrive)
response.write(f.serialnumber)
response.write("<br>")
response.write("Volume hex Serial Number in drive "&testDrive)
response.write(hex(f.serialnumber))
response.write("<br>")
’作为演示,本程序把当前盘序列号列出来(16进制)
set f=nothing
set fs=nothing
%>
</html>

2、在合法用户可以访问的各个ASP文件头部,添加如下代码: 
<% if Session("pass")=false then
’对Session变量进行判定,非法则跳出本ASP文件
response.redirect("fail.htm")
end if 
%>

3、用ASP加密程序(例如微软公司的SCRENC.EXE,别的ASP加密程序也可以)对各个ASP文件进行加密。 
在DOS状态下运行SCRENC -l vbscript source.asp destination.asp,即把源文件source.asp生成了包含密文ASP脚本的新文件destination.asp。SCRENC.EXE可以在微软公司站点(http://www.microsoft.com免费下载)。 
以上程序代码在简体中文NT4.0、IIS3.0及简体中文PWIN9.8、PWS4.0下通过。
 
系统分类:
标签:语言   
推送: 个人网站 建站教学   代码 ASP代码    归类:2006文集

::爱之诱惑::
http://ltang.cn
 
ASP编程经典例子 < 上一篇 下一篇 > 备份指南——Ghost前的系统配置大全
用户回复
首页 上一页 1 下一页 尾页 共 1 页
评分与快速回复

博主推荐
  • · 北京奥运会 在线截图 点火仪式
  • · 金庸群侠传2加强版
  • · 乱逛在阿姆斯特丹
  • · 灵X外挂使用和下载地址
  • · “中曲”发酵饲料调制法等
  • · 汶川,我们在你身边!
  • · 汶川---我们众志成城!让世界充满爱!
  • · 2008年最强贴! 预感有地震的帖子 真实
相关文章
  • ·【原创小小说】 贫农老财
  • ·不可思议.山东法官太有才了(人神共愤)
  • ·..
  • ·[心情走笔] 祭
  • ·也练一回《葵花宝典》!未成年慎入!
  • ·常用英语100句
  • ·那夜 那梦
  • ·我想你了
  • ·相册视频
  • ·一位操盘手的惊人语录
  • ·免费家教
  • ·可免费拨打固定电话和手机,小灵通的网络电话,用油箱注册即可,永远没法收你钱.官方说只有校园网能用不过我就不是校园网,只要就近选一所大学就好了.
  • ·笑着生活
  • ·抓涨停股票的一些技术分析
  • ·独自走在冬夜的街头。。。
  • ·..
  • ·在这个时候你会想起谁
  • ·论语雍也篇第六注释
  • ·论语注释之公冶长篇第五
  • ·古代文化常识
博友热推
  • 改革开放三十年中国式的婚姻变迁
  • 只是希望,失败的烤鸭是成功之母
  • 失去了吃醋的位置,所以我要离开
  • 不堪人生背后是恋人们对她的绝情
  • “过五关斩六将”春运回家全攻略
  • 一起走过青春,却最终走不进婚姻
  • 阴天该过去了,不然晴天怎会到来
  • 一并忘却了,那些曾经幸福的瞬间
  • 评价一个学校不是看有没有图书馆
  • 总在回首刹那才懂得时光如此匆匆
关于我们 | X5dj动态 | 加入我们 | 友情链接 | 官方日志 | 免责声明 | 举报不良信息
北京开创明天科技有限公司 版权所有 京ICP证040979号