老师说程序连接数据库的语句最好不要是sa用户譬如
strConnection = @"Persist Security Info=False;Integrated Security=SSPI;database=Allen;server=Allen;Connect Timeout=30;user id=sa;password=";
这样的连接语句会造成安全性问题我一时没有明白,为什么sa用户在数据库中会造成安全问题呢?
对此关于数据库层的安全方面能不能再多给小弟我介绍点?
谢谢~~~~~~~~~~

解决方案 »

  1.   

    如果我知道了你的data server的ip(这个很容易),就可以用sa直接链接到你的数据而且拥有所有权限。你说危险不危险。
      

  2.   

    我一时没有明白,为什么sa用户在数据库中会造成安全问题呢?
    ===========================
    楼主参考
    http://www.knowsky.com/343853.html

    http://blog.csdn.net/yxtyxt3311/archive/2005/11/22/534597.aspx
      

  3.   

    因为这样就暴露了sa的密码,而sa在一个数据库中是最高权限的用户,当然不安全了。
      

  4.   

    非常感谢各位的发言,我一定送分
    能否再随便介绍点数据库安全方面的知识,或者贴出网址
    最好和程序员方面有关的~(DBA方面的就太深奥了)
    小弟感激不尽~由于那天上课人有点昏昏欲睡了,没有仔细听,感觉这方面的知识还是很重要的,呵呵
      

  5.   

    做练习用sa是习惯,但由于密码明文显示,肯定不安全,而且事实上就算想给用户权限,加入sysadmin服务器角色就够了,sa轻易就不该出来
      

  6.   

    尽量不要使用SA连接数据库;尽量不要拼接SQL语句,而是用参数类。
      

  7.   

    要加密一下写在Web.Config里面,sa权限就是 Windows 的Administrator阿,你说呢,危险啊,十分的危险,你也知道,如果知道了sa的密码,那么系统的密码可以通过数据库的漏洞也可以弄出来,估计windows的密码也完了
      

  8.   

    sa,“Super Administrator”的简称,在一个数据库服务器当中可以认为sa账户的权限是至高无上的,假如你的程序里用sa去连数据库,一旦被人盗用将可能是巨大的安全灾难,而且,恐怖的是楼主你的sa账户的密码居然是空的,安全形同虚设。学习的时候可以不注意这些,工作了就一定要注意。
      

  9.   


    sa的角色是Adminstrator,拥有对所有数据库的访问权限,并可执行任何操作。
    所以最好对应用程序建立用户,并设置权限,来保证数据库的安全.