三层安全问题

ttopuc 2006-05-19 02:42:30
是这样的,我做的一个三层程序

中间层
DataSetProvider1连接table1
table1.active:=true;

客户端
在clientdataset.CountryProvider这个选项里可以浏览到中间层的datasetprovider1

客户端连接中间层必要条件:ip,端口,serverGUID,这三个具备了就能连上服务端,那么我的软件如果发布在网上,服务端ip,断口,serverGUID都可以被获得,serverGUID可以在注册表查找应用程序名称后获得,将这三项填入客户端的socketconnection就可以连上去了,这时我的表中的内容就可以一览无余了,如果在连个clientaset就可对我的表操作了,岂不是很可怕。

小弟才疏学浅,想问一下三层高人如何才能避免这样的事发生。多谢多谢。
...全文
77 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ttopuc 2006-05-20
  • 打赏
  • 举报
回复
这个帖子怎么回事,打不开了
ttopuc 2006-05-19
  • 打赏
  • 举报
回复
经过一下午的测试,serverGUID 完全可以被绕过,下班前是搞不定了:(
zxj971140 2006-05-19
  • 打赏
  • 举报
回复
呵呵,好像是没有办法了.希望高人指点.
XACZ 2006-05-19
  • 打赏
  • 举报
回复
嘿嘿,目前好象没有太好的办法。
我做过的三层系统,都在中间层上留一个后门,在任何地方,可以任意修改表数据,甚至数据库密码。留者以后或许有用。
ttopuc 2006-05-19
  • 打赏
  • 举报
回复
但是没有解决根本问题,希望高人站出来指点一二
ttopuc 2006-05-19
  • 打赏
  • 举报
回复
cnmaxu(Max)
可行

加密端口号没用的 一条 netstat 就出来了
zxj971140 2006-05-19
  • 打赏
  • 举报
回复
然后你在你的程序里再进行一下转换就OK了.
zxj971140 2006-05-19
  • 打赏
  • 举报
回复
加一下密,就是说端口为800,你可以转成ASCII码再加个10什么的,让别人看起来是400或什么的,我只是举人例子 .
cnmaxu 2006-05-19
  • 打赏
  • 举报
回复
serverGUID 可以不让人知道,自己加密写入注册表,这都是防君子不防小人的东西,
这种三层结构没有做过,也不敢多说,关注+帮顶。

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧