程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 建立應用軟件注冊安全機制

建立應用軟件注冊安全機制

編輯:Delphi

  軟件的安全性是個永恆的話題, 一直困擾著人們,程序員們常常因此熬夜。Novell公司的網絡操作系統NetWare 以其完善可靠的安全管理機制著稱,為實現用戶登錄的安全性和防止非法入侵者闖入,系統提供了幾種有效的限制措施和檢測功能。本文討論如何 建立完善的軟件注冊安全機制,有效地管理用戶登錄,為應用軟件提供可靠的保護,並在Delphi3.0下實現。

  Delphi作為一個優秀的編程工 具,功能極其強大,令開發周期大大縮短,生成的代碼運行速度快,使得Windows 軟件設計成為一種樂趣。基本思路是:建立Paradox格式的用戶帳戶表Users.DB,並加密保護,由管理員維護。預先在此表中登記並有注冊權限的用戶,可持本人有效口令登錄進入系統。

  實現步驟如下:

  1.在應用軟件主目錄(假設為C:Register) 下創建兩個子目錄,分別命名為Login和Data。

  2.從Delphi的Tools菜單中啟動Database Desktop,並選擇Tools/AliasManager…創建一個新別名。方法是:在Alias Manager對話框中點New,給出新別名UserInfo,並指向C:RegisterData 目錄,按KeepNew、OK等按鈕保存新別名。

  3.利用DatabaseDesktop創建Paradox 5.0forWindows數據表Users.DB,結構見表1。事實上,對於商業軟件還需要更多的域。

  表1表Users.DB的結構

  域名類型大小關鍵字說明

  NameA16*用戶名

  PassWordA16*注冊口令

  FullnameA32用戶全名

  GroupI用戶組號

  EnabledL注冊允許

  4.設定Name,Group和Enabled 為非空域(RequiredFIEld),Group的最小值為0,最大值為3,默認值為3,Enabled的默認值為True。用戶組0為系統管理員,可進行幾乎任何操作;用戶組1為 軟件操作人員,可進行除用戶帳戶管理以外的操作,包括建立和刪除數據;用戶組2為普通用戶,可使用系統資源,無修改權限,而用戶組3僅可浏覽系 統有限信息。

  5.用口令UserPassWord 保護Users.DB表,存於Data目錄下。利用DatabaseDesktop向表中輸入若干樣本用戶(見表2),然後關閉DatabaseDesktop。

  表2表Users.DB的樣本用戶

  Name Pa ord Fullname Group Enabled
Supervisor AAAAAA Super User  0 True
Director BBBBBB Director User 1 True
Guest     3 True
User1 CCCCCC General User1 1 False
User1 DDDDDD General User1 2 True
User2 EEEEEE General User2 3 True


  表2顯示,允許同一用戶以不同身 份(用戶組)登錄進入系統,享有不同的權限。如用戶User1,以不同密碼登 記,分屬用戶組1和2。

  6.返回DelphiIDE,新建項目Register.dpr 並存入C:Register目錄,主窗體單元命名為Main.pas。用戶注冊成功後,方能啟動主窗體進入系統。本系統僅顯示用戶信息及登錄的日期和時間以 表示注冊成功(見圖5),並不做其它任何事情,這裡便是讀者應用系統的接口。為此,在主窗體上放入一個TGroupBox組件,TLabel和TEdit組件各五個。 將所有TEdit的Text屬性清空,ReadOnly屬性值設為True,窗體和組件其余屬性按表3設置。

  7.創建主窗體的OnActivate事 件處理程序,登錄成功並激活主窗體時執行,顯示用戶信息、登錄日期和時 間。過程如下:

  
procedureTMainForm.For

[1] [2] [3] [4] 下一頁

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved