做好了一个中间层,任何人都可以连上来,这不是没了安全性了吗?(100分)

  • 主题发起人 主题发起人 autojet
  • 开始时间 开始时间
A

autojet

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]我做了一个中间层,放在IIS下,但是任何人都可以通过IP地址加端口来访问它,请问应怎样
在中间层中设置,让用户端在连接它时必须输入连接用户名和密码,还有就是如果在局域网
中有一台代理服务器,一般用户是不能上网的,但我想他们能使用连接Internet的B/S程序,
这又怎么办?
 
可以弹出一个登录页面,让用户登录。用在session中保存。
可以控制客户端的地址或MAC。
可以控制可连接的Internet 地址。
 
你说的中间层是COM+吗?
如果是的话,可以在组件服务中为你的组件定义访问的角色。
 
一般来说可以有三种方法:
1.在remote date Module的oncreate事件中进行处理;
2.如果使用socket通信,那么最好使用interceptor技术(拦截技术),例子可参看/demos/midas/intrcpt目录。
3.也可以在dataprivoder的BeforeGetRecords中对数据进行加密,参看联机帮助。
此外参考http://www.delphibbs.com/delphibbs/dispq.asp?lid=1156422
 
任何人都可以来访问它?洽洽相反,不管COM+还是DCOM都有严格的安全机制,正常情况下,
如果你不做设定的话,多数机器(特别是安装WinNT、Win2000、WinXP的客户机)是不能访
问该组件的,我最近两个星期一直在为解决为什么客户机不能访问我的COM+组件一事而头
痛(昨天终于解决了),只要你在服务器的“组件服务”管理器中为COM+设定了访问角色
验证,未经过合法登录的客户机是不可能调用服务器上的组件的。注意:这里说的合法登录
是指用服务器端建立的可访问该组件的用户的用户名和密码登录机器,Win2000、XP的用户
用你本机的Administrator用户名和密码登录的可访问不了服务器。
 
我看了上面那个贴子,很有收获!
分析下来,能够盗连服务器的,通常都是用TSocketConnection来连远端的服务器,但如果
服务器根本就不启动Borland Socket Server,他又能有什么招呢?反正我的客户端程序用
的是TDCOMConnection,服务器端不开Socket Server,不用担心被盗连。
 
autojet,用户端连接协议是什么?corba、dcom、sockect、webconnecttion?
 
[:(]用的是Webconnection的Http,中间服务器是在IIS中启动的,因是面向Internet用户的,
所以不用象DCOM那样使用Dcomcnfg或MTS那一套权限控制的方法,我的客户端可能是Internet
上成千上万的用户,我要他们必须使用我做的客户程序(非IE之类)才能正确得到此服务所提供的数据,
(因为数据涉及到公司机密,所以不能公开),请问这样应怎样设置连接用户和连接密码?
 
用Dcomcnfg配置安全机制
 
其实有一个很好的办法就是改一改HttpSrvr.dll,它有源程序的。
 
HttpSrvr.dll有源程序吗?在哪?
另外,Remote Data Moudle 的建立事件(OnCreate)是否是每一个客户连接时都会触发的一个
事件?
 
在应用服务器中加入远过程函数调用(如login函数),客户端调用该接口即可。具体例子参考/demos/midas/login
 
接受答案了.
 
后退
顶部