如题,每个客户端都是通过连接字符串直接操作数据库吗?QQ呢?也是通过这种方式吗?如果是的话,那它的连接字符串是怎么存的?我想把程序分层,连接字符串不存在客户端里,而是调用服务器上webservice来对数据库进行操作,这样是不是对数据库的安全性起到更好的保护作用啊?但不知道会不会对程序的运行速度产生一些影响?希望高手帮忙解答一下,谢谢啦!!!

解决方案 »

  1.   

    c/s用webservice操作是不错的做法,但有个致使的缺点,第一次的连接操作非常慢,多数客户是不能忍受的。这里提供两种c/s下的做法给你参考。
    1、参数写在本地,用md5不可逆算法加密,写在ini文件里。
    2、增加一个前置机,或者直接在服务器端写个windows服务,用remoting远程对象来做,这样参数就能写在前置机或者服务器里,相对来说这种方法要安全一点。
      

  2.   

    第一个问题:我可以告诉你就是这样的。
    第二个问题:QQ的我也不知道是怎么做的。但我想QQ应该不是直接联接的数据库一般来说B/S结构的程序都是三层的但不一定C/S的程序就是二层的。本身QQ使用的就是UDP协议而没用TCP协议它对网络的访问是使用的网络的底层而不是一般的想像中的二层的模式。
    第三个问题:你的方法不是不可以,但安全性也高不起来。因为就算你把连接字符串放到了一个webserviec上的话如果被人知道了你调用的webserviec的话一样可以得到你的连接字符串,但影响速度是一定的了所以没有必要这样做。
      

  3.   

    通过WebService是不错的办法。也是最为安全的办法。至于QQ所用的机制更为复杂,不是一时说得清的