delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
如何禁止访问局域网,但SQL能访问? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiDB/html/delphi_20061222112257168.html
同局域网内,如何禁止客户机访问局域网,但是自己写的程序能访问SQL?  
  另外,如果客户机的策略(gpedit.msc)中GUEST禁止以及用户中的GUEST关闭,在不打开情况如何才能访问SQL?

自己顶一下

策略中好像可以指定一些可以访问的命名管首,加入SQLServer管道名吧

端口直接过滤了

把两台机子设为不同的网段,可以限制一定形式的“访问”

我的意思是,在服务器上设置客户机不能访问任何局域网内的机器,但可以访问服务器的SQL数据库,这个怎么处理?需要做一个服务器的代理程序吗?

to   lihuasoft(学习低调做人)  
  查了一些资料,设置成不同网段需要路由器,另外,不同网段间如果访问SQL数据库(即只访问SQL数据库)?

端口过滤!类似防火墙的原理

简单.两个方案:  
  1.假设你的服务器是域控服务器,那么任何机器都要登录你的服务器,你就在服务器上做个文件,该文件可以自动在客户机登录的同时加载到客户机中.使客户机全部统一按你的设置进行配置.你只需要在做该文件的时候将客户禁止他们修改你的网络设置,然后关闭所有端口,就留一个1433端口就行了.因为TCP/IP协议访问SQL只需要一个1433端口就可以了;  
  2.假设你嫌复杂,那么你可以将所有计算机的管理员权限给拿掉,然后将其它用户做成非管理,使得他们不能修改你的网络设置.然后自己手工到每台工作站上用管理员登陆.在网络连接属性中的本地连接中将所有协议删除,就留一个TCP/IP协议,然后在该协议的高级选项--选项页面中可以找到"TCP/IP筛选",点它,再点属性.勾上"起用TCP/IP筛选(所有适配齐)",然后选择TCP/IP端口"只允许"点添加,输入1433点确定.然后一路确定所有窗口.最后重新启动就成了.  
  但是先决条件是你的SQL必须是在装的时候就设好了,所有客户可以通过1433访问,而没有被修改过.

使用windows的安全机制,可以指定系统安全策略,开放mssql的端口

客户机关闭端口  
  TCP   139  
  TCP   445  
  UDP   137  
  UDP   138  
   
   
  与网卡绑定的服务中取消  
  Microsoft   网络客户端  
  Microsoft   网络的文件和打印机共享  
  只保留TCP/IP协议

只保留TCP/IP协议  
  只开1433/1434端口(貌似1434也可以关,不确认)

Don't   expose   your   database   server.   expose   your   application   server   (web   service)   or   your   web   server   (web   site)

学习了,cowboy_tt()   可以参考一下

用防火墙,只开放1433端口

楼上的方法好.

好解决么。装个防火墙,就开通1433端口好了。

方法是有的   GUSET可以开着    
  然后使用本地安全策略关闭TCP   UDP   135、139  
  只开放1433端口   或自己设置的SQL端口!  
  设置好后   给没个客户端导入策略!即可  
 

在程序里实现不非常不现实的,因为windows端口很多。你不可能都屏蔽了。还是用防火墙比较合适,但也不能完全做到你的想法。

posted on 2008-12-11 10:09 delphi2007 阅读(158) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。