不从安全角度考虑,如果考虑应用方面,都是放配置文件中,这自然就将数据库信息暴露出来;要考虑相对安全放在DLL中或你的应用程序中就可;这也只是相对安全,如果数据库连接用户设置权限,只能读取数据等还是会安全的。

解决方案 »

  1.   

    不安全,混淆的又不是字符串,要用也别用拼接的方式,sql注入主要针对的就是拼接方式,可以采用参数化查询的方式
      

  2.   

    用  Widows 验证,把安全性这个问题踢给  M$ 就可以了。
      

  3.   

    必须要加server端,不然不可能安全,只要调试器附加上进程一跟踪就出来,连你的符号文件都不需要。你之前加密再好,最后拼连接字符串这一步一定是明文的吧= =
      

  4.   

    参考:
    http://msdn.microsoft.com/zh-cn/library/hh8x3tas%28v=vs.100%29.aspx
      

  5.   

    你的意思是要部署WCF服务吗?WCF我学过一阵,由于较难就放弃了学习
      

  6.   

    一般情况下,桌面程序不会直接连接数据库,而通常采用的办法是架一个服务器,同时部署一个WebService,通过这个WebService进行身份验证以后,再利用WebService进行数据的中转操作。当然,WCF也是同样的道理。这种情况下,你就只需要在配置文件中公开一个IP地址就行,就算是对方知道了你的WebService地址,但没有身份验证的方法,那也是没有办法攻破服务器的
      

  7.   

    最苦恼的就是,我没学WCF,只学了一阵,有点难,内容多,就没继续学
      

  8.   

    最苦恼的就是,我没学WCF,只学了一阵,有点难,内容多,就没继续学从技术上来说,如果服务端和客户端都在同一台机子上来说,你想隐瞒连接字符串是不太可能的,如果是分离的,则可以从中间件和服务端上思考,比如在中间件增加动作定义(xxxxx_xxxxxx,前段代表是什么动作,后段代表密码)等,服务器则研究请求IP,动作,警戒和锁定,这个比较复杂,一时说不完,但普通项目也不用搞成这样,用户角色管理好就行了。
      

  9.   

    一般的做法是WPF程序部署到客户机,它们都与服务端通信,客户机的所有敏感数据都需要去服务端取(也就是它们不能直接访问数据库)
    做好服务端的安全就好