重庆网站建设网络公司--光荣网络

重庆网站建设的领航者,月均建站量稳居重庆第1名的重庆网络公司-光荣网络为您提供:网站建设,重庆网站建设,中文英文域名注册,网站制作,网页设计,网站设计,重庆网站推广,重庆网站改版

                    重庆网站建设第1名
 
首 页
网站建设
经典案例
新闻中心
网站推广
虚拟主机
OA办公系统
网站策划
企业邮局
关于我们
联系我们
 
服务简介
 

重庆光荣网络网站建设团队:提供从网站策划系统开发网页设计网站建设网站推广网站维护、安全策略至网络营销全套网络解决方案。光荣网络积累了丰富的经验,能针对客户所处的行业,客户本身的企业形象,结合营销的特征为您量身订做高质量网站建设方案目前光荣网络已成为重庆网站建设领域市场占有率3甲企业。


  重庆网络公司学习园地
 PHP程序编码规范标准
 对应用色彩学的研究
 火焰字的制作教程
 怎样制作精美电子相册
 网站的整体风格创意设计
 编写网络程序的安全措施
 网站建设系统开发
 内容发布系统
 在线调查系统
 网上购物系统
 会员注册系统
 信息检索系统
 社区论坛系统
 网上留言系统
 在线招聘系统
 邮件订阅系统
 023人才网
 中国生意网
 网络重庆
 补水清财经管理网
 光荣策划网
 
 
 
 
编写网络程序的安全措施[重庆网站建设学习园地]

   Delphi的MIDAS控件为编写网络程序提供了十分方便的手段。利用这些控件,可以编写局域网上的客户机/服务器体系程序,也能方便地在Internet上创建分散处理的应用。

  网络程序的一个重要问题是安全性考虑。一些敏感数据在网上传送,很有可能被人非法拦截以造成不必要的损失。在实际的编程过程中,我采取了一些有效的防范措施,在此作些简单的介绍。


   一、 原理

  目前进行数据加密的方法很多,对数据的保护起到一定的作用。但如果采用固定的密钥或是密钥随数据一起传送,则均不能达到令人满意的保密效果。在实践过程中,我摸索出了一套“请求-应答”模式的随机密钥方法,对密码和数据的保密效果都令人十分满意。   当客户端程序启动并企图与服务器程序建立连接时,客户程序从服务器端取得一个由服务器程序产生的随机字串,系统将以此字串为密钥来传送用户登录密码和数据。由于密钥由服务器程序随机产生,客户每次登录时密钥均不相同,因此大大减少了密码被拦截导致数据被窃的可能性。

  服务器端可以在远程数据模块中引出一个自定义接口,该接口返回一个随机字串。远程数据模块要记录该字串作为后续处理的密钥。随机字串的产生法可以多种多样,最简单的方法是用Random()函数产生一个随机数后再由此数用Format()函数或IntToStr()产生一个字符串。

  二、 用户登录措施

  为了防止程序被非法调试从而泄露密码,必须将客户的登录信息在服务器端处理,也可以专门增加一个安全层负责客户的登录。客户的登录信息储存在客户资料表中,包括用户名、密码、权限等信息。

  客户程序登录时,先调用服务器程序的接口获得密钥字串,并用此密钥对用户输入的用户名和密码进行加密并向服务器发送登录信息。加密算法可以是DES算法或其它有效算法。服务器接到登录信息后,先用先前产生并记录的随机密钥对登录信息进行解密,再将解密后的信息与存储的客户资料表中的信息进行对照,从而判断客户信息是否合法以及该客户享有的数据权限等。   该过程的客户端程序如下:

  strKey:=myRemoteSever.GetKey();

  调用服务器的接口获得随机密钥

  UserName:=Ency(strUserName,strKey);

  对用户名加密,Ency()为加密算法

  Password:=Ency(strPassword,strKey);

  对登录密码进行加密

  If myRemoteServer.LogIn(UserName,Password) then 登录

  Begin

  进行处理

  End;

  服务器端的登录过程LogIn()如下:

  strUserName:=DeEncy(UserName,strKey);

  对用户名解密,DeEncy()为解密算法

  strPassword:=DeEncy(Password,strKey);

  对登录密码解密

  查询数据库

  if (Pass) then

  Result:=true

  Else

  Result:=false;

  要注意的是,在服务器程序和客户程序中,StrKey均应定义为全程变量。

  为了防止客户资料表被程序外打开从而泄露密码,可以对客户资料进行一定的加密措施,例如DOX表可以添加Password,服务器程序在访问客户资料表时先提供该Password。

  三、 数据传送

  在网络程序中,一些敏感数据在网上传送时必须加密。Delphi的MIDAS机制提供了数据加密的途径,可以在数据传往客户端之前对一些字段进行加密,也可以在接收到客户端的更新数据请求后对来自客户端的数据的相应字段进行解密后才向数据库进行更新。为了达到些目的,可以在服务器程序的远程数据模块中加入一个Tprovider或是TdataSetProvider对象,并将此对象的DataSet属性置为要处理的数据集。在Tprovider的OnGetData事件中加入如下代码:

  with DataSet do

  begin

  while not EOF do

  begin

  Edit;

  SensitiveData.AsString :=

  Ency(SensitiveData.AsString,strKey);

  对敏感数据加密

  Post;

  Next;

  end;

  end;

  以上代码可以将敏感数据加密后再送往客户程序。

  同样,在Tprovider的OnUpdateData事件中加入一些处理代码便可对客户端送来的数据进行解密。

  以上只是介绍了网络程序安全措施实现的一般原理,在此基础上,可以增加其它保密措施,以达到更好的保密效果。例如,客户程序可以用特定的辅助硬件设备来增加安全性。在智能卡应用程序中,客户程序在登录时不仅要求用户输入用户名和密码,程序同时检查IC读写器中IC卡的类型及特定的内容,这样,既使密码泄露了不会被人冒名登录。当然,任何安全措施都不是绝对安全的,安全措施还要有严格的保密制度及使用人员的高度的保密意识才能真正起到保密作用。

 
   [打印] [关闭]
 
电话:023-62943095 66882378
想建网站,赶快联系我们吧
24小时服务热线:13036318657
如有任何问题,请点击交谈
Copyright © 2003-2006 grch.com.cn 重庆光荣网络信息技术有限公司  渝ICP备05006938号