將Oracle內建的安全特性用於PHP

來源:互聯網
上載者:User

當今大多數 Web 應用程式都需要至少採用某種基本的安全性原則。例如,提供用口令保護的內容的網站、僅具有治理員後端的網站、網誌和個人雜誌、電子商務網站、企業內連網,等等。
  

  構建這些類型的 Web 應用程式最常用的設計方法是將安全性原則整合到 Web 應用程式的商務邏輯中,即由應用程式決定某個使用者是否有權訪問資料庫中的某個資料。在這種情形下,資料庫的角色僅為儲存資料和依請求提供資料。換句話說,假如 Web 應用程式命令資料庫提供特定資訊,則資料庫會直接執行該命令而不檢查使用者的許可權。


  在該文中,您將學習如何利用 Oracle 內建的安全特性在資料庫級執行應用程式安全規則,以提高應用程式的整體安全性。作為附帶的好處,直接在資料庫中實現資料訪問安全不但有助於提高應用程的安全性,而且有助於降低複雜性。


  對資料庫端安全性的需求


  從 Web 應用程式控制資料訪問會怎麼樣?大多數情況下沒有問題;這是個不錯的解決方案,尤其是在涉及的資料為非任務要害或絕密的時候。許多書和線上資源中都用到了該方法。實際上,有本很受歡迎的 PHP/MySQL 書明確反對每個應用程式建立一個以上的資料庫使用者帳戶,這是因為“額外的使用者或複雜的許可權會因某個操作在繼續前要檢查更多的資訊而降低 MySQL 的執行速度”。確實如此;但是,在放棄將安全性整合到資料庫邏輯中的想法前可能要考慮幾件事情。我們來看以下樣本。


  假設建立一個內容治理系統 (CMS)。其中使用資料庫來儲存網站上發布的內容。大部分資料是公開的,答應匿名 Web 使用者讀取;但只答應編輯更改資料。使用單一資料庫帳戶訪問和修改資料庫中的記錄,並通過用口令保護僅治理員可以訪問的頁面的存取權限用 PHP 代碼控制安全性。


  假如 Web 應用程式的公用端遭受了一個諸如公用搜尋表單(即編碼不夠嚴密的表單)上的 SQL 注入的攻擊,則該入侵者可能能夠對該公用帳戶可以訪問的資料庫物件執行任意 SQL 陳述式。當然,就這裡的情形而言,執行 SELECT 語句不會造成什麼大問題,這是因為資料本來就是公用的。但由於公用許可權和治理許可權使用同一資料庫帳戶,因此入侵者還能執行 UPDATE 和 DELETE 語句,甚至是從資料庫中刪除表。


  怎麼才能防止該情況的發生呢?最簡單的方法就是徹底限制公用資料庫帳戶修改資料的許可權。我們來看看 Oracle 是如何解決這個問題的。


  Oracle 安全性基本概述


  Oracle 資料庫為 Web 開發人員提供了控制資料訪問的許多方法,從治理對特定資料庫物件(如表、視圖和過程)的訪問到控制個別行或列的資料的訪問。很顯然,對 Oracle 每個安全特性或可用選項的討論超出了本文的範圍。在這裡,我們將不涉及過多細節,而僅介紹 Oracle 資料訪問安全性的最基本方面:


  驗證和使用者帳戶


  許可權


  角色


  驗證和使用者帳戶。 與其他資料庫一樣,請求訪問 Oracle 的每個使用者(資料庫帳戶)必須通過驗證。驗證工作可以由資料庫、作業系統或網路服務來做。除基本的驗證(口令驗證)外,Oracle 還支援強驗證機制,如Kerberos、CyberSafe、RADIUS,等等。


  角色。 Oracle 角色是一個許可權的有名集。儘管可以直接授予使用者帳戶許可權,但使用角色可以極大簡化使用者治理,尤其是需要治理大量使用者時。建立易治理的小角色,然後根據使用者的安全層級授予使用者一個或多個角色,這樣做的效率非常高。更不用說修改許可權變得如何簡單了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.