如何将Datasnap做得更安全些?

wuhs 2017-05-16 05:59:43
请教一个DataSnap的问题,那位高手帮忙指点一下:
datasnap如何获取客户端的请求报文,是这样,我希望将Datasnap做得更安全一些,希望在TDSTCPServerTransport或TDSAuthenticationManager的阶段就将非法连接过滤掉,最多到TDSServer的onConnect将非法连接过滤掉。但发现能获取的客户端信息都不一样。
TDSTCPServerTransport(Event: TDSTCPConnectEventObject),TDSAuthenticationManager只有(const Protocol, Context, User, Password: string)几个信息,且Context是空的。TDSServer.onConnecte(DSConnectEventObject: TDSConnectEventObject),三个地方获得的信息都不一样。我想应该是DataSnap在第一时间就把非法连接拦掉,按DataSnap的连接顺序,对于tcp/ip协议,先过TDSTCPServerTransport->TDSAuthenticationManager->TDSServer,而Http协议则直接到TDSAuthenticationManager->TDSServer,那么在TDSAuthenticationManager至少应拿到客户端的IP地址吧,最好是全部报文。
那位有办法,或者有其他保证安全的方式,请指教。
...全文
589 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyhoo163 2017-05-18
  • 打赏
  • 举报
回复
DataSnap 服务器与客户端,是建立在GUID编码一致,才能建立连接。因此,基本不存在,非法客户端的接入。 所以,确保安全的连接: 1、非正确的GUID码,是不能建立连接的;(第一层安全) 2、确认 登录人的合法性。实现这一占,首先要能登录进入服务器,录入上传用户名、SN,比较数据库后,才能进入系统。(第二层安全) 3、在数据库一个表,录入一系列“用户名”和“SN”,登录时,通过比对,确定该用户是否可以进入,以及它的权限。(第三层安全) 4、为了加强安全性,可以通过IP地址或网卡地址和用户名SN的双重检修,前提是登录后上传,IP地址、网卡地址和用户名、SN。 你说的通过onConnect将非法连接过滤掉,未见过。

1,593

社区成员

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

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