asp作品保护方案

自从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下通过。

时间: 2024-08-31 15:11:41

asp作品保护方案的相关文章

吐血推荐:asp作品保护方案

自从ASP(Active Server Pages)问世以来,因其可以创建健壮易于维护.与平台无关的应用系统,ASP技术受到了越来越多网络程序员的喜爱,使用ASP从事WEB开发的人也越来越多.但ASP只是一种非编译型的.在服务端运行的脚本语言,采用明文(plain text)方式来编写,即使采用了ASP加密程序对ASP源码进行加密,也不一定能保证发布到运行环境中去的ASP应用程序不被非法拷贝.对于高权限的管理员,可以轻而易举从服务器端拷贝出ASP程序应用到别的非授权网站.这样给ASP应用商业化带

巧用ASP技术保护DHTML源代码(转)

dhtml|源代码 巧用ASP技术保护DHTML源代码2001-8-18  动网先锋   DHTML使得我们能够开发出功能强大的Web应用客户端,它具有跨浏览器兼容.可交互和可移植等特点.它的缺点是用户能够直接查看JavaScript代码.本文介绍如何运用ASP技术保护DHTML代码,防止有人窃取你的DHTML代码. 传统保护技术 众所周知,Web本质上是一种不安全的媒介.当用户访问Web应用或者打开Web页面时,所有客户端的代码(HTML,JavaScript源文件以及CSS样式)一般都要下载

巧用ASP技术保护DHTML源代码

dhtml|源代码 DHTML使得我们能够开发出功能强大的Web应用客户端,它具有跨浏览器兼容.可交互和可移植等特点.它的缺点是用户能够直接查看JavaScript代码.本文介绍如何运用ASP技术保护DHTML代码,防止有人窃取你的DHTML代码. 传统保护技术 众所周知,Web本质上是一种不安全的媒介.当用户访问Web应用或者打开Web页面时,所有客户端的代码(HTML,JavaScript源文件以及CSS样式)一般都要下载到客户端缓冲区.用户只需点击一下"查看源文件"就可以查看.分

如何在asp.net保护文件

asp.net 如何在asp.net保护文件 简介如果我们做网站是用Access数据库作为数据源,则我们最关心的是Access数据库文件的安全问题.如果我们将存有重要信息(如密码.付款信息.个人私有的数据等等)的.mdb文件,放在Web服务器上可访问的目录中,任何一个人若猜到数据库文件名就可以通过浏览器或其他下载工具进行下载,这是非常危险的. 有许多方法对.mdb数据库文件进行保护,甚至任何一个你想保护的文件.最直接有效的方法是把.mdb数据库文件放在web服务器non-web accessib

通讯-分析被加壳程序里的一个暗号(使用了某Android保护方案)

问题描述 分析被加壳程序里的一个暗号(使用了某Android保护方案) 拿到一个App: 4f51dcaf3de8ab78.apk是一个被加壳的程序,这个程序里可能存在一个关键的用于互联网通讯联络的暗号,现在需要分析出这个暗号.(提示:使用了国内某互连网厂商的android保护方案) 下载地址:http://range.jsxajs.cn:8080/mobileApp/1/4f51dcaf3de8ab78.apk PS:下载地址绝对安全,不涉及安全问题,法律问题.

爱数面向总部和分支机构的分层保护方案

一.大型机构的IT现状 集团公司或政府机关等大型机构中,其IT基础结构具有复杂.分散等特征,并且信息化程度越高,http://www.aliyun.com/zixun/aggregation/18278.html">数据类型越繁杂,数据量也越庞大.特别是有总部和隶属的分公司.分支机构等分散 在不同地域的大型机构(如图所示),其网络往往具有以下特征: ☉ 总部和各分支机构都有大量PC机,一些日常的办公文档都保存在PC机上. ☉ 除总部存在大量服务器以外,部分分支机构同样也有扮演不同角色的服务

账号安全 IPT身份保护方案助你无忧登录

本文讲的是账号安全 IPT身份保护方案助你无忧登录,在享受互联网为我们带来便利的同时,相信大家一直都在为自己的账号安全担忧,特别是去年底发生了泄密门事件之后,似乎单纯的账号加密码的方式已经无法保护我们互联网信息的安全,人们更是无时无刻的担心着自己账号的安全. 回顾去年底的泄密门事件,仅CSDN就有600万的账号和密码被公开,随后,密码泄露事件开始大范围发酵,天涯等十几家网站,遭到曝光的用户信息条数已过亿.根据艾瑞统计,2011年每月新增木马在5000万左右,11月新增木马更是达到了6445万个,

HDFS混合加密保护方案的设计

HDFS混合加密保护方案的设计 梁胜昔 秦军 宋蕾 王星 如何有效解决云计算中存在的安全问题是关系到云计算产业发展的关键.针对Hadoop云计算系统在数据共享中存在的安全问题,采用了一种基于RC4 和RSA 的混合加密保护方案,该方案在云存储数据共享过程中,紧密结合Hadoop云计算系统的特性,能够实现数据的安全共享,同时兼顾保密性与效率. HDFS混合加密保护方案的设计

英国著名酒店管理集团应对威胁首选云安全保护方案

对于酒店管理来说,分散的酒店分布和越来越多的网络应用一直是行业的巨大挑战.最近,英国酒店管理行业--梭子鱼酒店管理集团(Barracuda Pub Group)采用了云安全解决方案来应对这一挑战,梭子鱼酒店管理集团在全英国拥有超过200家分散的酒吧和酒店,他们通过选择熊猫云安全公司(Panda Security)的 基于云技术的终端/ 主机安全解决方案-Panda Cloud Office Protection(简称:PCOP) 来保护该集团 所以的服务器和终端电脑.该集团主要看中熊猫云安全公司