日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

將Oracle 10g內置的安全特性用于PHP

瀏覽:29日期:2024-02-09 11:32:45

當今大多數 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 角色是一個權限的有名集。盡管可以直接授予用戶帳戶權限,但使用角色可以極大簡化用戶管理,尤其是需要管理大量用戶時。創建易管理的小角色,然后根據用戶的安全級別授予用戶一個或多個角色,這樣做的效率非常高。更不用說修改權限變得如何簡單了 — 只需修改角色關聯的角色即可,無需修改每個用戶帳戶。

為了簡化新用戶創建初期的工作,Oracle 自帶了三個預定義的角色:

·CONNECT 角色 — 該角色使用戶可以連接數據庫以及執行基本的操作,如創建自己的表。默認情況下,該角色不能訪問其他用戶的表。 ·RESOURCE 角色 — RESOURCE 角色與 CONNECT 角色相似,但它允許用戶擁有較多的系統權限,如創建觸發器或存儲過程。 ·DBA 角色 — 允許用戶擁有所有系統權限。   使用中的授權和權限

在本部分中,我們將討論如何使用 Oracle 的授權和權限來提高本文開頭部分討論的那個簡單 CMS 示例的安全性。假定,提供給應用程序用戶的內容存儲在 WEB_CONTENT 表中。

首先,創建該表。啟動 Oracle 數據庫特別版,以系統管理員身份登錄。如果還沒有釋放示例 HR 用戶,請將其釋放。按照特別版安裝附帶的入門指南中的指示操作。請注意,默認情況下,HR 用戶被賦予 RESOURCE 角色。在這里,賦予該用戶 DBA 角色,這樣就可以使用該帳戶管理 CMS 應用程序的數據庫方面了。當然,不會使用 HR 用戶帳戶進行在線訪問,只用它管理數據庫。

現在,可以使用對象瀏覽器或通過執行 SQL Commands 窗口創建新表。下面是創建該表的代碼:

CREATE TABLE WEB_CONTENT (page_id NUMBER PRIMARY KEY,page_content VARCHAR2(255));

由于該表是使用 HR 用戶帳戶創建的,因此該表歸 HR 帳戶所有并位于 HR 模式中,并且在明確授予其他用戶訪問該表的權限前,其他用戶無法訪問該表。如果不信,可以創建一個新用戶,用該用戶訪問 WEB_CONTENT 表試試。

現在,創建兩個新用戶,CMS_USER 和 CMS_EDITOR。最終,將授予 CMS_USER 對 WEB_CONTENT 表的只讀權限,并將該用戶用作為匿名 Web 用戶提供內容的數據庫帳戶。CMS_EDITOR 帳戶將在該表上擁有更多權限,將被用作 CMS 編輯的帳戶(該帳戶需要更改和維護該表中的數據)。

可以使用 XE 的圖形界面或通過執行以下命令創建新用戶:

CREATE USER cms_user IDENTIFIED BY cms_user;CREATE USER cms_editor IDENTIFIED BY cms_editor; (出于簡化的目的,此處的口令與用戶名對應。)

為了讓這兩個帳戶都登錄數據庫,我們需要賦予它們 CONNECT 角色。為此,在 XE 圖形界面的 Administration/Database Users 部分選中用戶信息下的 CONNECT 復選框,或執行以下命令:

GRANT CONNECT to cms_user;GRANT CONNECT to cms_editor;

現在,如果嘗試以 CMS_USER 或 CMS_EDITOR 用戶登錄并試圖從 WEB_CONTENT 表讀取數據 (select * from hr.web_content;),將遇到以下錯誤:

ORA-00942:table or view does not exist

為了訪問數據或僅是看到表,需要授予 CMS_USER 和 CMS_EDITOR 帳戶對 WEB_CONTENT 表的只讀權限:

GRANT SELECT on hr.web_content to cms_user;GRANT SELECT on hr.web_content to cms_editor;

以上代碼使這兩個帳戶可以對 WEB_CONTENT 表執行 SELECT 語句。如果嘗試執行其他語句,則會遇到錯誤。例如,插入一行:

INSERT INTO hr.web_content (page_id,page_content) VALUES (1,'hello world');

將產生錯誤消息

ORA-01031:insufficient privileges

要允許 CMS_EDITOR 更改該表的內容,需要授予以下權限:

GRANT INSERT,UPDATE,DELETE on hr.web_content to cms_editor;

從現在起,CMS_EDITOR 帳戶可以對 WEB_CONTENT 表執行 INSERT、UPDATE 和 DELETE 語句。

您看,這有多簡單!可見通過角色管理權限是更有效的方法。如果使用的 Oracle 數據庫不是 XE,可以執行如下操作:

創建角色:

CREATE ROLE reader;CREATE ROLE writer;

授予角色權限:

GRANT SELECT ON web_content TO reader;GRANT INSERT,UPDATE,DELETE ON web_content TO writer;

賦予用戶角色:

GRANT reader TO cms_user;GRANT reader TO cms_editor; (they need to read too)GRANT writer TO cms_editor;

請注意,如果更改 READER 角色的定義,則這些更改會影響所有具有該角色的用戶帳戶。如果是直接將權限授予用戶的,則必須逐個更新每個用戶帳戶。

完成上述步驟后,可以配置 PHP 應用程序,使之對由匿名 Web 用戶請求的所有數據庫連接均使用 CMS_USER 帳戶,對由受口令保護的管理頁面引發的連接使用 CMS_EDITOR 帳戶。現在,即使公共 Web 表單受到攻擊,該攻擊對數據庫的影響將微乎其微,這是因為 CMS_USER 帳戶僅具有只讀權限。

結論

在本文中,我們只是簡單介紹了 Oracle 數據訪問安全性的一些最基本的特性。此外,Oracle 還有許多其他特性,可把您的 Web 應用程序的安全性提高到一個新的等級 — 包括虛擬專用數據庫 (VPD) 和標簽安全性。

標簽: PHP
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久久男人天堂| 韩国精品主播一区二区在线观看| 91精品国产91久久久久久黑人| 久久久91麻豆精品国产一区| 国产高清日韩| 国产一区二区三区四区五区 | 日本在线不卡视频一二三区| 免费观看在线综合| 视频一区视频二区中文字幕| 美女网站一区| 樱桃视频成人在线观看| 久久精品成人| 丝袜美腿亚洲一区| 色综合视频一区二区三区日韩| 亚洲另类黄色| 国产乱子精品一区二区在线观看 | 婷婷综合激情| 9久re热视频在线精品| 蜜桃久久精品一区二区| 日本一区二区三区视频在线看 | 播放一区二区| 国产一区导航| 日韩av一区二区在线影视| 欧美极品一区二区三区| 91嫩草亚洲精品| 欧美jjzz| 日韩av资源网| 美女av在线免费看| 一区在线观看| 日韩av影院| 精品国产99| 婷婷丁香综合| 欧美日韩xxxx| 欧美日韩视频免费观看| 夜夜精品视频| 国产欧美二区| 国产99亚洲| 免费精品视频在线| 免费一级欧美在线观看视频 | 青青草精品视频| 电影91久久久| 亚洲激情社区| 日韩国产在线观看| 成人日韩av| 色乱码一区二区三区网站| 五月天综合网站| 91精品国产一区二区在线观看| 国产91在线播放精品| 日韩一区二区免费看| 国产精品一线天粉嫩av| 久久亚洲国产| 国产精品一页| 黄色国产精品| 麻豆国产一区| 日韩精品一级中文字幕精品视频免费观看 | 亚洲欧美日韩专区| 国产精品永久| 亚洲精品电影| 国产精久久久| 国产视频一区欧美| 精品一区二区三区的国产在线观看| 五月天久久777| 久久精品国产99| 一区二区国产在线| av日韩中文| 日韩中文av| 久久精品电影| 久久久免费人体| 亚洲精选av| 久久国产亚洲精品| 国产精品s色| 一区二区国产精品| 四虎4545www国产精品| 国产欧美日韩精品高清二区综合区 | 老司机免费视频一区二区| 日韩视频不卡| av免费不卡国产观看| 91嫩草精品| 先锋亚洲精品| 久久精品观看| 久久亚洲精精品中文字幕| 婷婷综合福利| 欧美日韩国产欧| 久久久男人天堂| 久久av电影| 日韩高清一区| 亚洲深夜av| 99久久激情| 日韩88av| 国产日韩视频| 亚洲精品伊人| 亚洲欧美视频| 亚洲精品一二三区区别| 日韩中文首页| 国产aⅴ精品一区二区三区久久| 日韩在线观看中文字幕| 欧美日韩国产高清电影| 日韩久久精品网| 开心激情综合| 国产精品玖玖玖在线资源| 日本亚洲视频| 蜜桃视频免费观看一区| 亚洲一区日韩| 亚洲激情国产| 欧美一区二区三区高清视频| 成人污污视频| 美女久久久久久| 国产精品巨作av| 国产精品片aa在线观看| 69堂精品视频在线播放| 亚洲日本久久| 亚洲精品麻豆| 亚洲欧美在线专区| 综合激情网站| 亚洲精品麻豆| 日韩不卡在线观看日韩不卡视频 | 久久影视三级福利片| 国产探花在线精品| 日本aⅴ亚洲精品中文乱码| 日本精品国产| 国产精品欧美日韩一区| 久久成人福利| 国产一区二区三区视频在线| 国产在线视频欧美一区| 成人福利视频| 日韩啪啪电影网| 91精品亚洲| 老司机精品视频网| 日本久久精品| 日韩国产专区| 久久久久.com| 国模 一区 二区 三区| jiujiure精品视频播放| jiujiure精品视频播放| 免费精品视频| 亚洲精品系列| 国产伦一区二区三区| 久久亚洲资源中文字| 午夜av不卡| 精品91久久久久| 亚洲精品黄色| 日韩国产一二三区| 欧美精品二区| 国产va在线视频| 91精品一区国产高清在线gif | 亚洲字幕久久| 88久久精品| 精品九九久久| 激情综合亚洲| 亚洲精品动态| 国产精品视频一区二区三区综合| 精品无人区麻豆乱码久久久| 日韩一区二区在线免费| 日韩视频中文| 久久激五月天综合精品| 久久97久久97精品免视看秋霞| 日韩电影免费在线观看| 久久福利一区| 国产精品亚洲欧美一级在线| 99国产精品久久久久久久成人热| 日精品一区二区三区| 精品国产亚洲一区二区在线观看| 电影亚洲精品噜噜在线观看 | 日韩精彩视频在线观看| 老司机免费视频一区二区| 久久国产精品成人免费观看的软件| 蜜臀av亚洲一区中文字幕| 国产精品99久久免费观看| 国产不卡人人| 免费成人在线视频观看| 国产极品一区| 国产综合亚洲精品一区二| 日本aⅴ亚洲精品中文乱码 | 国产精品亚洲欧美| 91精品一区国产高清在线gif | 日韩欧美二区| 亚洲日本欧美| 精品国产乱码久久久| 亚洲成人免费| 欧美一区在线观看视频| 中文在线免费视频| 伊人久久亚洲| 国产成人调教视频在线观看| 视频一区中文| 久久精品99久久久| 欧美成人高清| 麻豆视频一区| 免费欧美在线视频| av资源中文在线| 亚洲精品系列| 欧美一区二区三区高清视频 | 亚洲伊人精品酒店| 精品国产第一福利网站| 蜜桃视频在线观看一区| 日韩欧美国产精品综合嫩v| 日韩高清欧美激情| 91精品99| yellow在线观看网址| 亚洲精品一级二级三级| 久久久精品网|