<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    SQL Server 的三大安全機制是什么


    發現錯別字 1年前 提問
    回答
    1
    瀏覽
    348
    請勿發布不友善或者負能量的內容。與人為善,比聰明更重要!
    回答數量: 1
    CISAW安全運維(專業級) 高級信息系統項目管理師

    SQL Server的三大安全機制如下:

    • 服務器級別的安全機制:服務器級別所包含的安全性對象主要有用戶登錄名、固定服務器角色等。其中,登錄名用于登錄數據庫服務器,而固定服務器角色用于給登錄名賦予相應的服務器訪問權限。該級別的安全性主要通過登錄名進行控制,要想訪問一個數據庫服務器,必須擁有一個合法的登錄名。登錄名可以是Windows賬戶,也可以是SQL Server的賬戶。

    • 數據庫級別的安全機制:數據庫級別所包含的安全對象主要有用戶、角色、應用程序角色、證書、對稱秘鑰、非對稱密鑰、程序集、全文目錄、DDL事件和架構等。該級別的安全性主要通過用戶賬號進行控制,要想訪問一個數據庫,必須擁有該數據庫授權的合法用戶身份賬號。用戶賬號可以是通過操作系統登錄賬號進行映射的,也可以是屬于固定的數據庫角色或自定義數據庫角色的。

    • 數據對象級別的安全機制:也稱為架構級別安全機制。架構級別所包含的安全對象主要有表、視圖、函數、存儲過程、類型、同義詞和聚合函數等。架構的作用是將數據庫中的所有對象分成不同的集合,每一個集合就稱為一個架構,每個集合之間都沒有交集。該級別的安全性通過設置數據對象的訪問權限進行控制。

    通過Web應用防御SQL注入的手段有以下這些:

    • 添加數據記錄:如果Web應用程序需要從表單中獲取相關數據,然后往后臺數據庫的相關數據表中插入一條新的記錄,程序員可以不直接使用INSERT語句,而通過先打開記錄集對象,然后往記錄集對象中先添加一條空記錄,再將具體的數據內容寫入到記錄字段中,最后直接將記錄集更新到數據庫中。這樣就可以有效避免SQL攻擊,達到防御的目的。

    • 修改數據:如果Web應用程序需要從表單中獲取相關數據,然后修改后臺數據庫的相關數據表中的數據記錄,程序員也可以不直接使用UPDATE語句,而通過先構造一條查詢語句,打開記錄集對象,然后找到要修改的數據記錄,再將具體的數據內容寫入到記錄字段中,最后將修改后的記錄集更新到數據庫中,這樣就可以有效避免SQL攻擊,達到防御的目的。

    • 刪除數據:如果Web應用程序需要刪除數據記錄,程序員也可以不直接使用DELETE語句,而通過先構造一條查詢語句,打開記錄集對象,然后找到要刪除的數據記錄,將此記錄刪除,再將刪除記錄后的記錄集更新到數據庫中。刪除操作是使用rs.delete語句完成的。這樣就可以有效避免SQL攻擊,達到防御的目的。

    • 利用視圖修改和刪除:操作視圖與操作表有許多功能是相同的,例如查詢數據。如果一個視圖是多表關聯生成的,它比直接運行多表關聯速度要快,因為視圖是提前編譯好的,SQL語句的執行首先需要編譯。與表格不同,視圖的插入、修改和刪除是有限制的,這種限制可以在一定程度上保護數據被插入、修改或刪除。

    • 利用存儲過程進行數據的修改和刪除:利用服務器端腳本修改數據的時候,可以利用記錄集對象的一些屬性,例如記錄數(rs.recordcount)來判斷影響的行數,如果不為0可以進行修改或刪除。另外也可以利用SQL語句通過存儲過程對修改或刪除操作進行重新封裝,并利用SQL語句對參數或影響的行數進行判斷,在存儲過程中也可以同時對參數進行過濾等處理。

    回答所涉及的環境:聯想天逸510S、Windows 10。

    1年前 / 評論
    亚洲 欧美 自拍 唯美 另类