一旦你的某一个网站的数据库 被sql注入了,也就是这一个数据库的问题,那么由于这个帐号只是有对一个数据库的权限,所以不会影响到其他的数据库的安全。也就是给予这些帐号适当的权限。

解决方案 »

  1.   

    sqlserver从2005开始有专门的应用程序角色,这个就是给应用程序的,很多公司喜欢直接给sa,很多公司就简单开一个sql身份验证给应用程序,从安全性来说都不是最好的方法,我个人觉得要么开windows身份验证给应用程序,要么可以考虑使用应用程序角色这个功能。既然sqlserver给你这样用,必然有它的道理,当然,如果权限管控的好,就算给sa也不是什么问题
      

  2.   

    这个完全取决于你的Web业务大小,如果你的Web系统非常大,包含多个数据库,例如像下面这样的应用:
    db_resource
    db_finance
    db_vehicle
    db_security
    等等,那么所有的业务都需要通过db_security来鉴权,因此都应该有这个数据库的权限,但是其他的业务又是非常独立,例如会计出纳只会用到财务数据库db_finance,HR只会用到人力资源数据库db_resource,那么就可以利用在新建用户时进行用户映射,如下图以上是第一步,第二步我觉得是要在你们的系统中针对功能和数据分别做相应的权限处理,保证某类人只能使用相关的功能和数据。
    第三步是对增删改操作增加日志记录,在系统中有一个表专门存储某人在某个时间针对某个功能做了什么操作。
      

  3.   

    建议分开帐号。
    不麻烦的。建帐号分配权限很快的。
    这几个web 都是你们公司做的,
    那是不是可预见有可能跨库访问?! 
    如果很有可能,那你用一个帐号也行啦。
      

  4.   

    一般大型互联网站数据库是分离的,比如会员一个库,产品一个库,支付一个库,这个时候访问DB 通常就是一个应用角色连接DB 进行开发,有读写权限,然后可以针对查询要求建立一个帐号,专门查询但不能写数据