说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Delphi编写网络程序的安全措施

HTML文档下载 WORD文档下载 PDF文档下载
Delphi编写网络程序的安全措施

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均应定义为全程变量。

为了防止客户资料表被程序外打开从而泄露密码,可以对客户资料进行一定的加密措施,例如PARADOX表可以添加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卡的类型及特定的内容,这样,既使密码泄露了不会被人冒名登录。当然,任何安全措施都不是绝对安全的,安全措施还要有严格的保密制度及使用人员的高度的保密意识才能真正起到保密作用。

见证新一代全能大数据计算平台崛起 ——中国Spark技术峰会将于4月19日在北京召开 大佬放猛料的节奏 阿里云聚无线为开发者提供一站式服务 智能硬件又添新选手 汉王推出便携PM2.5检测仪 2014年首场百度轻应用高级训练营落幕 现场展示云端结合能力 销售易史彦泽:企业应用,自上而下的革命 专访寻医问药网创始人:轻应用背后的长尾效应 轻松打造品牌轻应用:实时Web App开发框架Clouda Intel强势入驻,Cloudera新一轮融资总额已达9亿美元 每个Web开发者必备的9个软技能 4月1日:闻名世界的苹果公司正式成立 AMD正在探索一种新颖的Linux开源驱动模式 QQ手机浏览器推出5.1播霸版 内置强解码引擎支持22种视频格式 Ceph浅析(上):概况与设计思想 IBM:你好,互联网 光网络SDN化的四大驱动力及两条路径 《近匠》酷传:解除App发布和监控痛苦 有道heX正式开源:用HTML5和NodeJS开发桌面应用 在3D空间创作:英大学生发明增强现实设计产品 2014年3月浏览器份额:Chrome终超Firefox 成市场第二大浏览器 2014年3月操作系统份额:Windows 7大涨,Windows XP仍未跌破27%大关 路透社:iPhone 6仅有4.7寸版本,将于5月量产,5.5寸遭冷冻 高端实战技术培训:OpenStack企业应用之路 据统计,Oracle已击败IBM跃居软件行业第二 【技术博客推荐】2014年值得关注的10个开源项目 Intel在深圳建立智能设备创新中心 将投入1亿美元 免费获得价值1200元Unity2014顶级盛会门票! IBM公布Softlayer中国业务落地时间表 推荐30款最佳的数据可视化工具 数据库迁移测试:选白盒还是黑盒? 东软发布首款英特尔架构企业级移动终端解决方案 英特尔与腾讯创立游戏创新实验室 推进RealSense技术 DELPHI非常非常非常简单的问题 在两个页面中,需要传递密码,如何使密码在地址栏中不可见? 一个关于DW的问题 难道是系统的问题,晕!! 调查:北京和上海的pb 的程序员能挣多少钱? 谁知道用odbc连接infromix online参数怎么设?(50分 ) ASP如何实现票据打印 请问MYSQL可以支持哪些数据库文件或表格的导入? 急死我了!求教高手有关焦点的问题! 谁有《COM技术内幕》的第13章的例子的源码,送100分,谢谢先! mysql的最大链接数在哪里修改? 图像区域选取,高分求解! Shell_NotifyIcon问题 在PL_SQL中怎样用一个表中的数据去更新另一个表 oracle 9初学者 sybase的JDBC驱动字符串是什么阿?? 如何播放Flash? 我的IE不能自动填写域名了!!!第一个答对者20分! 一個很簡單的問題,在線等候,謝謝!! /usr/bin/top的原码在哪个路径下啊?小弟找了好久还是找不到急啊! 尊敬的流芳先生: 程序员考试中的一道很简单的c试题,有个问题 Sun Blade 2000 要多少钱? 活动目录中,遇到这个问题。 我的机器用程序向局域网内的另外一台机器发送一条信息,类似于发送控制台信息 [请教]会用客户端ftp软件客户端代理功能的进来帮帮忙 急求VCD的Specification! 在线紧急求助!!! 在MDI中如何更改子窗口标题? 请问有哪位好心的大哥能给我一个Bounds Checker V601_D.exe 的序列号? 100分求助如何在iPlanet中配置cgi-bin? 高分求助:请问如何确定某个窗口是否存在? 怎么样在vb中把一个excel表的数据拷贝到另一个excel中(包括行高,列宽,字体等) In Pro*c, 为什么我不能用#define UNAME_LEN 20 去定义常量. 高分 高分求《.NET开发的最佳实践与案例分析--北京讲座》示例源码及相关资料!!! 请教高手 那们有 AlphaBlend 函数的帮助中英文都行。 麻烦大家帮我看一下,代码错在那里。 详细说说rs.open sql,conn,Cursor Type,LockType 紧急求救!在线等待: 哪里可下载INTEL IPL库? 关于 我的GNOME的主Panel消失了,我该怎么办???? 一个C程序的问题求助! 请大家推荐一个支持EJB2.0 的免费的应用服务器 运行时建立数据库表 麻烦各位一下,这个错在哪了? 关于access关于自动增量的字段! 关于快捷菜单的问题。 世界上最大规模的大学生群架[真实](转载) win2000日文版与98SE怎么连接? 《天上的街市》阅读答案(其实只有一题~)天上的街市 郭沫若(郭开贞) 远远的/街灯/明了,好像是/闪着/无数的/明星.天上的/明星/现了,好像是/点着/无数的/街灯.我想那/缥缈的/空中,定然 天上的街市练习答案使人从地上的街灯联想到了什么 他们之间有什么关系 如图所示电路中,电源电压恒定,断开S1,S3,闭合S2,两电表均有示数;在断开S2,闭合S1,S3,此时两电表的如图所示电路中,电源电压恒定,断开S1,S3,闭合S2,两电表均有示数;在断开S2,闭合S1,S3, 去哪里可以免费用天文望远镜看太空捣乱不说人话的我会替大伙问候你妈的 广告上的错别字(带街道) 我想对凡卡说300字 从小事做起.从自身做起,预防违法犯罪行为的格言警句成语,越多越好 天上的街市习题诗中的牛郎织女和民间的故事有什么不一样? 凡卡续写300字 名言警句 从小事做起的重要性 有错别字的街道名称急用! 哀词和冰神读后感 求一些关于从小事做起的名言警句最好注明出处, 《天上的街市》的习题读了《天上的街市》,我仿佛看到了:( ). 续写凡卡300个字啊不过记住,在当时沙皇统治下,是不能有什麽好结局的.只会有死路一条.不要太长啊 求《皇上 有种单挑本宫》全文txthelena1996 sina谢谢麻烦重新发送一下到807095128.q 仿照五年级上册的语文书中的一篇课文《冬阳•童年•骆驼队》第四段写关于小动物的一段话!写两三句话就行!不要太多!小动物的!最好是小狗小猫~我说是最好,不是也行! 《凡卡》的续写(300字以上) 《皇上,有种单挑本宫?》全文TXT 作者:abbyahy《皇上,有种单挑本宫?》全文TXT 注意是要{全文}!连载已完结.注意是要{全文}!不全不给分,不全发了也不讨好. 有努力才有真正的美丽 美文400字左右 有的发 凡卡的续写300字以上. 植物也会"思考"?抱歉.没有内容.呵呵.应该难不了大哥大姐吧!你能找出“直到现在才意识到植物比我们认为的要能干得多”的两点原因吗? 记金华的双龙洞,按浏览顺序依次写了双龙洞的什么? 六年级课文有破折号的句子 植物知道些什么秦珍子阅读答案1.这篇说明文的说明中心是什么2.文章第一段的疑问句有什么作用3.文章介绍了植物哪方面不为人知的能力4.最后一段从比如开始运用了什么说明方法?有什么做 课文手指的理解和感受课文[手指]中说说对它的理解和感受 说说自己的见解是怎样获得的 是如何加深的 错别字作文要400字 天文望远镜能看清飞机吗天文望远镜能看清飞机的型号,看上去是正的还是倒的? 手指 这篇课文最后一自然段有三对反义词 第一对是什么?找不到. 已知α+β=1,αβ=-1,S1=α+β,S2=α^2+β^2,S3=α^3+β^3…Sn=α^n+β^n(1)计算S1= ,S2= ,S3= ,S4= (2)试写出Sn-2,Sn-1.Sn三者之间的关系式(3)根据以上得出的结论α^7+β^7 谷歌天空和天文望远镜哪个好如题比较清晰度~10000元左右的天文望远镜吧 大街上的错别字 街头错别字作文400字 要有2个具体事例哦 谢 1000多元的天文望远镜能看到太空吗? (√1)^2+1=(√2)^2=2,S1=2分之√1 ,(√2)^2+1=(√3)^2=3.S2=2分之√2 ,(√3)^2+1=(√4)^=4,S3=2分之√3用含有n的等式表示上述变化规律;求(S1)^2+(S2)^2+(S3)^2+.+(S10)^2的值.三角形两条直角边与斜边的关系,用一 “人的一生有两件事不可避免:死亡与纳税” 英语翻译好像是一个外国名人说的,大家有知道原文是怎么样的吗?谢谢啦!对了,那个外国人叫啥呀?谢谢 记金华的双龙洞为什么要写一路上的见闻 这些话中的破折号有什么作用(人教版小学语文六年级上册19课一面《5+2》上的题目)填序号破折号的作用:1.表示解释说明;2.表示话题转换;3.表示事项的列举;4.表示声音的延续、拖长; 高一英语听力人教版求回复 1.若某人乘坐出租车在平直公路上匀速行驶,右图为他到达目的地时的车费发票.求 TAXI(1)出租车行驶的时间; 车费发票(2)出租车行驶的速度 车号 E.U-8888日期 02-05-28上车 10:00下车 10:05 记金华的双龙洞 内洞和外洞的共同特点 求六年级现代文·文言文点击《天上的街市》答案,请尽快给予答复,thank. 大自然的花香阅读答案 《记金华的双龙洞》作者游览双龙洞的顺序是 路上-----( )------( )------( )------( )------( ) 求以美丽无须包装为题的作文开头与结尾! 记金华的双龙洞都写了外洞的哪些情景,特点是什么 作文 与认真有关的400字 六年级点击《天上的街市》答案!~~~急!~~~~~~~~~~ 记金华的双龙洞介绍内洞时写了哪些景物 记金华的双龙洞 作者描写了路上( )的景色,( )的溪流,外洞的( ),内外洞连接处空隙的( ),内洞的( )、( )、( )的特点 六年级第一学期语文《点击》答案 《记金华的双龙洞》的外洞描写运用了什么说明方法 努力向上的阶梯 作文400字 诗歌第一节中的动词可以互换位置么?为什么?神话传说中的牛郎织女,最终被王母娘娘用“天河”隔开,只有在阴历七月七日这一天才能相见,是一个悲剧故事.而作者在诗中却写得那样畅快,“天 4 记金华的双龙洞 内洞重点写了什么特点 《天上的街市》练习题1.体现了诗人_____的创作特色.2.最后一节诗的韵脚及特征是.3.第二节诗写想象中的街市,是从第一节的“_____”自然引出的.4.“你看,那浅浅的天河”一句中在"你看"后加上 天上的街市点击答案急用,现在必须要! 与植物相处 天上的街市阅读训练高手进天上的街市 远远的街灯明了,好像闪着无数的明星.天上的明星现了,好像点着无数的街灯.我想那缥缈的空中,定然有美丽的街市.街市上陈列的一些物品,定然是世上 找错别字,错别字什么的最讨厌了
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘