本帖最后由 yinguangz 于 2010-04-26 17:58:40 编辑

解决方案 »

  1.   

    "关于sqlinjection 使用低特权的登录账号连接数据库服务器实现深层次的防护 "分开来,sqlinjection就是sql injection,sql注入的意思
    低特权登录帐号,这里是指登录帐号,说白了就是连接字符串中指定的sa等
    低特权就是该帐号权限较低,比如只有数据库级的权限,没有服务器级别的权限深层次防护,这有什么深不深的,像sql2k5,默认就把最高权限的sa给禁掉了,免得大家一向用sa用得熟得离不开
      

  2.   

    这个应该是“最小权限”原则——只为用户分配其操作所需的必要权限。SQL 注入的主要方式是将恶意代码(T-SQL 语句)插入正常的动态语句中被服务器执行。
    编程者常常习惯让程序使用数据库管理员( SQL Server 的 sysadmin 服务器角色成员或 oracle 的 system 帐户)身份连接服务器,执行 SQL 语句(这样可以不必考虑权限控制问题)。这样,注入的恶意代码也会以数据库管理员的身份运行,从而具有查看/修改数据库中任何数据的能力。
    其实,在编程过程中如果只根据程序执行的操作分配最小权限,这样即使被注入,注入的恶意代码也会因为没有足够的权限而无法运行,从而大大降低攻击的成功率。