请教一个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地址吧,最好是全部报文。
那位有办法,或者有其他保证安全的方式,请指教。
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地址吧,最好是全部报文。
那位有办法,或者有其他保证安全的方式,请指教。
解决方案 »
- ICS的UDP如何从服务器端下发数据到客户端?
- 关于DELPHI三层数据库编程中中间层服务器的设置函数
- 如何捕捉鼠标滚轮的动作
- about打印预览,图元文件的1像素对应打印机多少像素
- 请教dwgthumbnail详细使用方法!
- 在DLL中动态不能创建TADOQuery问题,请指点指点
- 这个问题就这么难么?Chart控件如何给它赋值?为什么没人回答?
- ADO+SQLSERVER中当数据量比较大时如何提高效率
- 关于提取TXT和INI文件的问题。。急急急急。。。
- 文本编辑器打印功能!!!可以加分!!
- Dephi10.1 编写Service Application服务,无法弹窗显示
- IdFTP.List方法在有的网格下可以用,有的网络下报错,是何原因?
所以,确保安全的连接:
1、非正确的GUID码,是不能建立连接的;(第一层安全)
2、确认 登录人的合法性。实现这一占,首先要能登录进入服务器,录入上传用户名、SN,比较数据库后,才能进入系统。(第二层安全)
3、在数据库一个表,录入一系列“用户名”和“SN”,登录时,通过比对,确定该用户是否可以进入,以及它的权限。(第三层安全)
4、为了加强安全性,可以通过IP地址或网卡地址和用户名SN的双重检修,前提是登录后上传,IP地址、网卡地址和用户名、SN。你说的通过onConnect将非法连接过滤掉,未见过。