久久免费国产精品一区二区,blz在线成人免费视频,中文高清亚洲精品,日韩欧美亚洲国产

分享到:

用磁盤(pán)序列號對ASP進(jìn)行加密

11-10月-2011

作為講解實(shí)例,本文用到Access數據庫安全機制,實(shí)際應用中,可以用其它格式的文件存放的數據。為便于闡述,我們先建一個(gè)Access數據庫ID.mdb(密碼為"kxj"),內建一個(gè)DriveInfo表,數據結構如下:

id(自動(dòng)編號) ;
Serno(文本,12,磁盤(pán)序列號(10進(jìn)制)) ;
Wrimark(數字,1,寫(xiě)盤(pán)標志,)。

 
說(shuō)明

Wrimark 值為0代表合法用戶(hù)未安裝系統,值為1代表該系統已安裝。當值為1且序列號與當前盤(pán)不符時(shí),則判定為非法拷貝用戶(hù)。

初始化時(shí)先定義一個(gè)新記錄,各字段初始值分別為1,12345678,0。

在同一目錄下,例如C:/INTERPUB/WWWROOT下,放置首頁(yè)Default.asp,合法用戶(hù)首頁(yè)Success.asp,非法安裝用戶(hù)提示頁(yè)Fail.htm及ID.mdb序列號存放庫。

各ASP文件的編寫(xiě)操作如下:

1、用FrontPage(或NotePad),新建一個(gè)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")
'通過(guò)MapPath獲得當前盤(pán)盤(pán)符
testDrive=Left(testDrive,3)
set f=fs.getdrive(testDrive)
'調用GetDrive方法,將驅動(dòng)器賦予一個(gè)變量
Mysql="SELECT * From driveinfo where id=1"
set rsCheck = Server.CreateObject("ADODB.Recordset")
rsCheck.open Mysql,conn,1,1
FSER=trim(f.serialnumber)
'獲得當前盤(pán)序列號
StrSerno=trim(rsCheck.fields("SERNO"))
StrMark=rsCheck.fields("WRIMARK")
if StrSerno<>FSER and StrMark=0 then
'若是首次安裝,則置寫(xiě)盤(pán)標志為1
session("pass")=true
'定義用戶(hù)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 WEBS99vE!</a>")
set rsMain=nothing
else
if StrSerno=FSER then
'若是合法用戶(hù)再次合法進(jìn)入
session("pass")=true
response.write("<a href='success.asp'>YOU ARE AUTHORIZED BY THE WEBS99vE MANAGER,WELCOME TO ACCESS !</a>")
else
'非法拷貝用戶(hù)
session("pass")=false
response.write("<a href='fail.htm'>99v IS ILLEGAL TO COPY THE WEBS99vE'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>")
'作為演示,本程序把當前盤(pán)序列號列出來(lái)(16進(jìn)制)
set f=nothing
set fs=nothing
%>
</html>

 
2、在合法用戶(hù)可以訪(fǎng)問(wèn)的各個(gè)ASP文件頭部,添加如下代碼:

<% if Session("pass")=false then
'對Session變量進(jìn)行判定,非法則跳出本ASP文件
response.redirect("fail.htm")
end if
%>

 
3、用ASP加密程序(例如微軟公司的SCRENC.EXE,別的ASP加密程序也可以)對各個(gè)ASP文件進(jìn)行加密。

在DOS狀態(tài)下運行SCRENC -l vbscript source.asp destination.asp,即把源文件source.asp生成了包含密文ASP腳本的新文件destination.asp。SCRENC.EXE可以在微軟公司站點(diǎn)(http://www.microsoft.com免費下載)。

 


View: 2378

上篇新聞:楊元慶內部郵件:對陳紹鵬的離開(kāi)依依不舍

下篇新聞:如何把ASP編寫(xiě)成DLL