📄 78730.htm
字号:
<html xmlns="http://www.w3.org/TR/xhtml1/strict"> <head> <title>天极网</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"></meta> <meta http-equiv="Pragma" content="no-cache"></meta> <meta http-equiv="expires" content="Mon,12 May 1998 00:36:05 GMT"></meta> <link rel="stylesheet" href="/xslimages/css/cpcw.css"></link> </head> <style>.nava { font-size: 9pt}.font1{font-size: 10.5pt}</style> <body bgcolor="#FFFFFF" topmargin="2"><table width="760" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td width="20%" rowspan="3" valign="top" align="center"><table width="95%" border="1" cellspacing="0" cellpadding="0" height="60" bordercolorlight="#CCCCCC" bordercolordark="#FFFFFF"><tr valign="middle" align="center"><td><div align="center"><span class="nava">天极硬件,新闻及时<br>资料详尽,敬请关注<br><a href="/33554432/35651584/yingjian.htm">www.myhard.com</a></span></div></td></tr></table></td><td width="57%" valign="bottom" rowspan="3" align="center"><div align="center"><script language="JavaScript" src="http://ad.cpcw.com/js/school.js"></script></div></td><td width="20%" valign="top" rowspan="3" align="center"><table width="95%" border="1" cellspacing="0" cellpadding="0" height="60" bordercolorlight="#CCCCCC" bordercolordark="#FFFFFF"><tr valign="middle" align="center"><td><div align="center"><span class="nava">好又多电子商务<br>让您一点动心<br><a href="http://www.hoyodo.com">www.hoyodo.com</a></span></div></td></tr></table></td></tr><tr></tr><tr></tr></table><table width="760" border="0" cellspacing="0" cellpadding="0" height="70" align="center"><tr><td width="145" valign="bottom" rowspan="3"><img src="/xslimages/content/logo.gif" width="140" height="60"></img></td><td colspan="3" width="100%" height="33" align="center"><a href="/" target="_blank">首页</a>| <a href="/33554432/36700160/news.htm" target="_blank">新闻中心</a>| <a href="/33554432/50331648/business.htm" target="_blank">企业中心</a>| <a href="/33554432/41943040/caijing.htm" target="_blank">财经中心</a>| <a href="/33554432/39845888/fashion.htm" target="_blank">时尚中心</a>| <a href="/33554432/35651584/yingjian.htm" target="_blank">硬件中心</a>| <a href="/33554432/34603008/school.htm" target="_blank">学习中心</a>| <a href="/33554432/37748736/game.htm" target="_blank">游戏中心</a>| <a href="/33554432/38797312/ziyuan.htm" target="_blank">资源中心</a>| <a href="http://www.hoyodo.com/" target="_blank">社区</a>| <a href="http://training.yesky.com/" target="_blank">网校</a></td></tr><tr><td colspan="3" width="78%" height="20" align="right"><b>中心栏目:<a href="http://www.mydown.com" target="_blank"><font color="#FF0000"><u>红辣椒软件下载</u></font></a></b><a href="http://soft.yesky.com" target="_blank"> 软件之窗 </a><a href="http://desktop.yesky.com" target="_blank">天极桌面网 </a><a href="http://art.yesky.com" target="_blank">美工教室 </a><a href="http://itdreamer.yesky.com" target="_blank">程序方舟 </a><a href="http://homepage.yesky.com" target="_blank">网页陶吧 </a><a href="http://safe.yesky.com" target="_blank">安全之路</a><a href="http://soft.yesky.com" target="_blank"></a></td></tr></table><table align="center" border="0" cellpadding="0" cellspacing="0" width="760"><tbody><tr bgcolor="#333333"><td colspan="2" height="1"></td></tr><tr><td bgcolor="#ff9900" height="16" valign="bottom" width="72%"><font color="#000000"><b><font color="#ffffff">学 习 中 心</font></b></font></td><td bgcolor="#6699cc" height="16" width="28%"><div align="center"><font face="Arial, Helvetica, sans-serif"><b><font color="#ffffff">N E T S C H O O L</font></b></font></div></td></tr><tr bgcolor="#333333"><td colspan="2" height="1"></td></tr></tbody></table><table align="center" border="0" cellpadding="0" cellspacing="0" width="760" bgcolor="#eeeeee"><td colspan="2" height="28"><div align="center"><a href="/33554432/34603008/34635776/34636800/34636832/schoolinverse1.htm" target="_blank"><font color="#000000">HTML</font></a><font color="#000000"> _</font><a href="/33554432/34603008/34635776/34636800/34636864/schoolinverse1.htm" target="_blank"><font color="#000000">JavaScript</font></a><font color="#000000"> _</font><a href="/33554432/34603008/34635776/34636800/34636928/schoolinverse1.htm" target="_blank"><font color="#000000">CSS</font></a><font color="#000000"> _ <a href="/33554432/34603008/34635776/34637824/34637952/schoolinverse1.htm" target="_blank"><font color="#000000"> PHP </font></a><font color="#000000"> _ </font></font><a href="/33554432/34603008/34635776/34637824/34637888/schoolinverse1.htm" target="_blank"><font color="#000000">ASP</font></a><font color="#000000"> _</font><a href="http://www.yesky.com/33554432/34603008/34635776/34637824/34637920/schoolinverse1.htm" target="_blank"><font color="#000000">Perl</font></a><font color="#000000"> _</font><a href="/33554432/34603008/34635776/34638848/34638880/schoolinverse1.htm" target="_blank"><font color="#000000">Dreamweaver</font></a><font color="#000000"> _</font><a href="/33554432/34603008/34635776/34639872/34639904/schoolinverse1.htm" target="_blank"><font color="#000000">XML</font></a><font color="#000000"> _</font><a href="http://www.yesky.com/33554432/34603008/34734080/schoolinverse2.htm" target="_blank"><font color="#000000">病毒</font></a><font color="#000000"> _</font><a href="http://www.yesky.com/67108864/68157440/68419584/inverse2.htm" target="_blank"><font color="#000000">程序开发</font></a><font color="#000000"> _</font><a href="http://www.yesky.com/33554432/34603008/34799616/34800640/schoolinverse1.htm" target="_blank"><font color="#000000">Email</font></a><font color="#000000"> _</font><a href="http://www.yesky.com/33554432/34603008/34897920/34898944/schoolinverse1.htm" target="_blank"><font color="#000000">Windows 9x</font></a><font color="#000000"> _</font><a href="/33554432/34603008/34897920/34900992/schoolinverse1.htm" target="_blank"><font color="#000000">Linux</font></a><font color="#000000"> _</font><a href="/33554432/34603008/34963456/34966528/schoolinverse1.htm" target="_blank"><font color="#000000">WPS</font></a><font color="#000000"> _</font><a href="http://www.yesky.com/33554432/34603008/34963456/34964480/schoolinverse1.htm" target="_blank"><font color="#000000">Word</font></a></div></td></table><table width="760" border="0" cellspacing="0" cellpadding="0" height="30" align="center"><tr><td align="left" valign="bottom"><span class="nava"><span class="nava"><a href="/index.htm">首页</a>→ <a href="/33554432/34603008/school.htm">学习中心</a>→ <a href="/33554432/34603008/34668544/schoolinverse2-pro.htm">程序方舟</a>→ <a href="/33554432/34603008/34668544/34672640/schoolinverse2.htm">技巧经验</a>→ <a href="/33554432/34603008/34668544/34672640/34672672/schoolinverse1.htm">DELPHI技巧</a>→ </span></span></td><td width="2%"></td></tr></table><table width="760" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td colspan="3" valign="top" width="75%"><table width="98%" border="0" cellspacing="1" cellpadding="1" bgcolor="#000000"><tr bgcolor="#FFFFFF"><td width="100%" colspan="4" align="left"><table width="95%" align="center"><tr><td class="font1"><p align="center"><br><font size="3">建立应用软件注册安全机制</font><br><span class="nava"><font color="#CC9933">2000-06-11· -·中国计算机世界出版服务公司</font></span></p><p> 软件的安全性是个永恒的话题, 一直困扰着人们,程序员们常常因此熬夜。Novell公司的网络操作系统NetWare 以其完善可靠的安全管理机制著称,为实现用户登录的安全性和防止非法入侵者闯入,系统提供了几种有效的限制措施和检测功能。本文讨论如何 建立完善的软件注册安全机制,有效地管理用户登录,为应用软件提供可靠的保护,并在Delphi3.0下实现。</p> <p> Delphi作为一个优秀的编程工 具,功能极其强大,令开发周期大大缩短,生成的代码运行速度快,使得Windows 软件设计成为一种乐趣。基本思路是:建立Paradox格式的用户帐户表Users.DB,并加密保护,由管理员维护。预先在此表中登记并有注册权限的用户,可持本人有效口令登录进入系统。</p> <p> 实现步骤如下:<br> 1.在应用软件主目录(假设为C:\Register) 下创建两个子目录,分别命名为Login和Data。<br> <br> 2.从Delphi的Tools菜单中启动Database Desktop,并选择Tools/AliasManager…创建一个新别名。方法是:在Alias Manager对话框中点New,给出新别名UserInfo,并指向C:\Register\Data 目录,按KeepNew、OK等按钮保存新别名。<br> <br> 3.利用DatabaseDesktop创建Paradox 5.0forWindows数据表Users.DB,结构见表1。事实上,对于商业软件还需要更多的域。</p> <p> 表1表Users.DB的结构</p> <blockquote> <p> 域名类型大小关键字说明<br> NameA16*用户名<br> PasswordA16*注册口令<br> FullnameA32用户全名<br> GroupI用户组号<br> EnabledL注册允许</p> </blockquote> <p> 4.设定Name,Group和Enabled 为非空域(RequiredField),Group的最小值为0,最大值为3,默认值为3,Enabled的默认值为True。用户组0为系统管理员,可进行几乎任何操作;用户组1为 软件操作人员,可进行除用户帐户管理以外的操作,包括建立和删除数据;用户组2为普通用户,可使用系统资源,无修改权限,而用户组3仅可浏览系 统有限信息。<br> <br> 5.用口令UserPassword 保护Users.DB表,存于Data目录下。利用DatabaseDesktop向表中输入若干样本用户(见表2),然后关闭DatabaseDesktop。<br> 表2表Users.DB的样本用户</p> <div align="center"> <center> <table border="0" width="92%" style="fontsize: 9pt" cellspacing="1" bgcolor="6699cc" cellpadding="0"> <tr> <td width="20%" align="center">Name</td> <td width="20%" align="center">Password</td> <td width="20%" align="center">Fullname</td> <td width="20%" align="center">Group</td> <td width="20%" align="center">Enabled</td> </tr> <tr bgcolor="#FFFFFF"> <td width="20%" align="center">Supervisor</td> <td width="20%" align="center">AAAAAA</td> <td width="20%" align="center">Super User </td> <td width="20%" align="center">0</td> <td width="20%" align="center">True</td> </tr> <tr bgcolor="#FFFFFF"> <td width="20%" align="center">Director</td> <td width="20%" align="center">BBBBBB</td> <td width="20%" align="center">Director User</td> <td width="20%" align="center">1</td> <td width="20%" align="center">True</td> </tr> <tr bgcolor="#FFFFFF"> <td width="20%" align="center">Guest</td> <td width="20%" align="center"> </td> <td width="20%" align="center"> </td> <td width="20%" align="center">3</td> <td width="20%" align="center">True</td> </tr> <tr bgcolor="#FFFFFF"> <td width="20%" align="center">User1</td> <td width="20%" align="center">CCCCCC</td> <td width="20%" align="center">General User1</td> <td width="20%" align="center">1</td> <td width="20%" align="center">False</td> </tr> <tr bgcolor="#FFFFFF"> <td width="20%" align="center">User1</td> <td width="20%" align="center">DDDDDD</td> <td width="20%" align="center">General User1</td> <td width="20%" align="center">2</td> <td width="20%" align="center">True</td> </tr> <tr bgcolor="#FFFFFF"> <td width="20%" align="center">User2</td> <td width="20%" align="center">EEEEEE</td> <td width="20%" align="center">General User2</td> <td width="20%" align="center">3</td> <td width="20%" align="center">True</td> </tr> </table> </center> </div> <p> 表2显示,允许同一用户以不同身 份(用户组)登录进入系统,享有不同的权限。如用户User1,以不同密码登 记,分属用户组1和2。<br> 6.返回DelphiIDE,新建项目Register.dpr 并存入C:\Register目录,主窗体单元命名为Main.pas。用户注册成功后,方能启动主窗体进入系统。本系统仅显示用户信息及登录的日期和时间以 表示注册成功(见图5),并不做其它任何事情,这里便是读者应用系统的接口。为此,在主窗体上放入一个TGroupBox组件,TLabel和TEdit组件各五个。 将所有TEdit的Text属性清空,ReadOnly属性值设为True,窗体和组件其余属性按表3设置。<br> 7.创建主窗体的OnActivate事 件处理程序,登录成功并激活主窗体时执行,显示用户信息、登录日期和时 间。过程如下:</p> <blockquote> <blockquote> <p> procedureTMainForm.FormActivate(Sender:TObject);<br> begin<br> ifTime=StrToTime('12:00:00')then<br> Caption:='上午好,您已成功登录!'<br> else<br> Caption:='下午好,您已成功登录!';<br> //显示登录用户信息、登录日期和时间<br> NameEdit.Text:=LoginUser.UserName;<br> FullNameEdit.Text:=LoginUser.UserFullName;<br> GroupEdit.Text:=IntToStr(LoginUser.UserGroup);<br> DisplayDateEdit.Text:=DateToStr(Date);<br> DisplayTimeEdit.Text:=TimeToStr(Time);<br> end;<br> </p> <p>表3主窗体中组件属性设置<br> <br> 组件属性设置<br> Form1Caption<br> NameMainForm<br> PositionpoScreenCenter<br> GroupBox1Caption用户信息<br> Label1Caption用户名称:<br> Label2Caption用户全名:<br> Label3Caption用户组号:<br> Label4Caption登录日期:<br> Label5Caption登录时间:<br> Edit1NameNameEdit<br> Edit2NameFullnameEdit<br> Edit3NameGroupEdit<br> Edit4NameDisplayDateEdit<br> Edit5NameDisplayTimeEdit</p> </blockquote> </blockquote> <p> 8.数据模板。选择File/NewData Module建立数据模板LogDataModule,放入一个Ttable组件,如图1。属性 按表4设置,命名其单元为MD.pas,存入Login目录。</p> <p> 表4数据模板中组件属性设置</p> <blockquote> <blockquote> <p> 组件属性设置<br> Table1DatabaseNameUserInfo<br> NameUsersTable<br> TableNameUsers.DB</p> </blockquote> </blockquote> <p> 9.创建注册窗体。选择File/New Form创建一个新窗体,并加入组件TLabel、TEdit和TbitBtn各两个。窗体和组件属性按表5设置,命名其单元为Login.pas,存于Login目录。</p> <p> 表5注册窗体中组件属性设置</p> <blockquote> <blockquote> <p> 组件属性设置<br> Form2ActiveControlUserNameEdit<br> Caption请注册<br> NameLoginDialogForm<br> PositionpoScreenCenter<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -