我不知道问题改怎样问,大体意思是:我们现在正在开发一套系统,数据库是SQLserver2000,而却数据库要求必须安全,因为里面客户的钱数等重要信息。大家可以帮助解决安全问题,各抒己见。我基本不太了解这方面的东西,数据库连接字符串怎么动态更改啊?.....急盼!

解决方案 »

  1.   

    (1)数据库中的数据可以加密存储
    (2)建议数据库连接字符串写到WEB。CONFIG里,如果连接数据库的用户名、密码有所改动,可以手工改,也可以做个小程序改(WEB。CONFIG是XML格式的)
      

  2.   

    我们开发的是WinForm版(C/S结构),不是B/S结构。
      

  3.   

    数据库本身的安全由数据库系统本身和系统部署方式决定,例如,记得打补丁、数据库用户不要使用弱口令、服务器与客户机间加防火墙、限制用户访问ip、端口等。
    软件安全性则可使用用户名和口令加密、不要使用不安全的sql语句编写方式,使用sql参数和存储过程,防止sniffer侦听和sql注入攻击等。做到以上几点,数据库的安全是有保障的。
      

  4.   

    敏感信息在存储与流动传送中必须加密,虽然Hash算法已经被破了,但用起来还是相对安全些。另外对敏感信息传送建议用加密的XML,信道用SSL,一定要做好防SQL注入式攻击的工作。
      

  5.   

    楼上哥们:那么我们编写的WinForm程序中的数据库连接字符串是我们固定在程序中的,不能更改,也不需要后期更改吗?
      

  6.   

    数据库连接字符串要动态更改 就必须将它写到配置文件中去,
    win.app或者你采用注册表 INI 文件保存配置参数信息
    数据库要求必须安全 是指程序里面安全吗还是数据库管理安全程序里面要安全就得建立权限,角色。
    数据库中安全那就是数据库管理员的事情,基本上在开发时候用的
    用户帐户都是有读写,增删权限的建议将连接字符串采用密文的形式保存到外部配置文件中,读进去后在揭密还原~~
      

  7.   

    较安全的是在SERVER端写一个服务用来管理客户端的连接,客户端不保存任何有关连接的信息,服务里首先限定可访问的IP,然后加入如错误三次登录锁定等限制,服务器控制好访问权限等,重要数据在数据库里加密存储,等等.
      

  8.   

    ////////////////////////////////////////我是楼主////////////////////////
    楼上几位说的很有道理,我们的麻烦是,我们开发的软件系统采用C#开发的WinForm程序,安装在客户端(大约有几百个,接近1000个),我们现在正处于数据库的开发阶段,数据库采用Sql Server2000做服务器,由于业务量较大,所以采用两个服务器,(将其中交易部分单列出来由一个数据库服务器承担。)1、那么我们在开发软件系统时,设定Sql Server2000服务器的登陆模式为SQL登陆还是WinNT用户登陆?
    2、我们程序有后台管理操作员权限的功能,设定好以后,操作员只能打开他有权限的窗口,我觉着在数据库中就不用设置角色了吧?所有连接数据库使用一个用户名就可以了吧,分配操作员权限在程序中设定了,另外,动态更改数据库链接字符串(也就是程序的登陆名和密码)有必要吗?干脆我们程序规定一个用户名和密码,以后不改就行了。大家对我的想法可以批评,提出各位的高见,谢谢!
      

  9.   

    1.用sql server的帐号,建议新建用户,不要用sa
    2.角色权限是要有的,不同的人要用不同的帐号等录,而且必须定期要求根改密码,所有新增修改删除等操作要做日志记录
    3.这样的系统权限最重要,一定要设计好,各个功能点都要控制到