• λ我爱Aspx >> C#.Net >> 针对SQL INJECTION的SQL SERVER安全设置初级篇_数据库安全
  • 针对SQL INJECTION的SQL SERVER安全设置初级篇_数据库安全

  • :aspxer  Դ:internet  :2007-4-28 23:46:15  ؼ:sql,数据库,数据
  • 3. 右击"角色",然后单击"新建数据库角色"命令。

    4. 在"名称"框中输入新角色的名称。

    5. 单击"添加"将成员添加到"标准角色"列表中,然后单击要添加的一个或多个用户。(可选)

    只有选定数据库中的用户才能被添加到角色中。

    对象权限

    处理数据或执行过程时需要称为对象权限的权限类别:

    · SELECT、INSERT、UPDATE 和 DELETE 语句权限,它们可以应用到整个表或视图中。

    · SELECT 和 UPDATE 语句权限,它们可以有选择性地应用到表或视图中的单个列上。

    · SELECT 权限,它们可以应用到用户定义函数。

    · INSERT 和 DELETE 语句权限,它们会影响整行,因此只可以应用到表或视图中,而不能应用到单个列上。

    · EXECUTE 语句权限,它们可以影响存储过程和函数。

    语句权限

    创建数据库或数据库中的项(如表或存储过程)所涉及的活动要求另一类称为语句权限的权限。例如,如果用户必须能够在数据库中创建表,则应该向该用户授予 CREATE TABLE 语句权限。语句权限(如 CREATE DATABASE)适用于语句自身,而不适用于数据库中定义的特定对象。

    语句权限有:

    · BACKUP DATABASE

    · BACKUP LOG

    · CREATE DATABASE

    · CREATE DEFAULT

    · CREATE FUNCTION

    · CREATE PROCEDURE

    · CREATE RULE

    · CREATE TABLE

    · CREATE VIEW

    暗示性权限

    暗示性权限控制那些只能由预定义系统角色的成员或数据库对象所有者执行的活动。例如,sysadmin 固定服务器角色成员自动继承在 SQL Server 安装中进行操作或查看的全部权限。

    数据库对象所有者还有暗示性权限,可以对所拥有的对象执行一切活动。例如,拥有表的用户可以查看、添加或删除数据,更改表定义,或控制允许其他用户对表进行操作的权限。

    db_owner 在数据库中有全部权限。

    db_accessadmin 可以添加或删除用户 ID。

    db_securityadmin 可以管理全部权限、对象所有权、角色和角色成员资格。

    db_ddladmin 可以发出 ALL DDL,但不能发出 GRANT、REVOKE 或 DENY 语句。

    db_backupoperator 可以发出 DBCC、CHECKPOINT 和 BACKUP 语句。

    db_datareader 可以选择数据库内任何用户表中的所有数据。

    db_datawriter 可以更改数据库内任何用户表中的所有数据。

    db_denydatareader 不能选择数据库内任何用户表中的任何数据。

    db_denydatawriter 不能更改数据库内任何用户表中的任何数据。

    在这儿把新建的数据库角色的权限配置好,比如需要使用哪个表、视图、存储过程等。然后把Db_owner和db_securityadmin、db_backupoperator取消,不给攻击者BACKUP DATABASE和CREATE TABLE的机会,一但攻击者具有这两个权限,那么你的网站就还处在十分危险的状态。还有注意一下,在创建数据库账号时,千万不能对服务器角色进行选择。

    Ҷƪл˵?
  • һƪ全面了解Cookie的传递流程、编程实现及安全问题_ASP技巧
    һƪC#加密路径里的参数,保护参数隐私安全! _C#应用