1. ACCESS不具備資料庫的安全性管理。這題錯哪
這句肯定錯的。access是個桌面型資料庫,不僅僅存儲數據,還要管理數據。提到到管理肯定涉及到安全問題。數據安全是資料庫使用必須考慮的重要因素,在滿足使用要求的前提下,用戶許可權越少安全越有保障。下面介紹Access 2003提供的幾個資料庫安全管理措施:
1.查詢許可權設置
以查詢資料庫給予所有用戶執行許可權和禁止用戶在查詢過程中修改數據為例,設置資料庫查詢的屬性應該在「設計視圖」中打開它,單擊工具欄上的「屬性」按鈕打開如圖1所示「查詢屬性」對話框。打開「運行許可權」下拉列表選擇「所有者的」,此後所有用戶都具有查詢所有者的查看和執行查詢的許可權。這樣查詢所有者才能保存更改的查詢,也只有查詢所有者才能更改查詢的所有權。如果需要禁止用戶在查詢過程中修改數據,可以打開「記錄集」類型下拉列表,它提供了「動態集」、「動態集(不一致的更新)」和「快照」三個類型。選擇「動態集」時查詢的數據表中的值可以修改,而且會動態的改動相應的計算值。選擇「快照」就不能修改數據表中的數據,因此你應該選擇「快照」這一項。
2.用戶許可權設置
要使Access資料庫用戶擁有不同許可權,即有的用戶擁有編輯資料庫的許可權,有的用戶只能查看資料庫內容等等,設置方法是打開Access資料庫,單擊「工具」→「安全」子菜單下的「用戶與組許可權」命令打開對話框,其中可以修改不同用戶對資料庫或它的某個對象的訪問許可權。
如果需要想「用戶組」的成員只能打開資料庫的窗體,只要在「用戶名/組名」中選擇「用戶組」,然後在對象類型下拉列表中選擇「窗體」。接著在「對象名稱」下面選擇一個窗體,選中「許可權」下的「打開/運行」以後「確定」,那麼用戶組的成員只能查看窗體,而不能執行其他操作了。
如果需要給予「管理員組」操作資料庫的所有許可權,只要在「用戶名/組名」中選擇「管理員組」,然後在對象類型下拉列表中選擇「資料庫」。接著選中「許可權」下的「打開/運行」和「管理」,「確定」後即可使管理員組的成員操作資料庫的所有許可權。
3.用戶組管理
為資料庫用戶建立組,然後給用戶或組分配帳號可以大大提高管理效率,具體操作方法是:打開Access 2003(不用打開資料庫),單擊「工具」→「安全」子菜單下的「用戶與組許可權」命令打開如圖2所示對話框。這個對話框包含三個選項卡:現有的組管理用戶使用「用戶」選項卡,單擊「新建」按鈕可以在「用戶組」或「管理員組」中添加新用戶,也可以單擊「刪除」按鈕將組中的這個用戶刪除,單擊「清除密碼」就可以取消原來這個用戶的密碼。在「組成員關系」列表中,左面的是現在所有的組,右面的則是「名稱」框內這個用戶所在的組。
「組」選項卡的功能是管理組,打開「名稱」下拉列表可以選擇組,單擊「新建」按鈕可以添加「用戶/組」,也可以單擊「刪除」按鈕刪除一個「用戶/組」。
「更改登陸密碼」選項卡僅供修改密碼使用,當一個用戶用初始密碼登錄Access以後,他可以在這里修改自己的訪問密碼。
4.使用安全機制向導
「設置安全機制向導」創建Access 2003資料庫的非加密備份副本,並採取相應措施保護當前資料庫。使用安全機制向導的具體操作步驟是:打開要保護的Access 2003資料庫,單擊「工具」→「安全」子菜單下的「設置安全機制向導」命令,既可打開「設置安全機制向導」對話框。
第一步選中「新建工作組信息文件」,該文件包含了開發或使用資料庫的用戶或組的名稱;第二步指定工作組信息文件名稱和工作組ID(WID),後者是4到20個字元組成的具有唯一性的字元串。接著選中對話框下面的「使這個文件成為所有資料庫的默認工作組信息文件」或「創建快捷方式,打開設置了增強安全機制的資料庫」;第三步在如圖3所示對話框中選中要設置安全機制的資料庫對象,設置時只須打開「表」、「查詢」和「窗體」等選項卡,選中其中列出的資料庫對象即可。第四步選中需要包含在工作組信息文件中的組;第五步選中如圖4所示對話框中的「是,是要授予用戶一些許可權」,然後打開「資料庫」、「表」和「查詢」等選項卡,選中需要授予用戶或組的許可權;第六步需要向工作組信息文件添加用戶,只須輸入用戶名和密碼單擊「將該用戶添加到列表」即可;第七步在對話框的「組或用戶名稱」選擇用戶或組,然後根據需要選中「選擇用戶並將用戶賦給組」或「選擇組並將用戶賦給該組」;單擊「完成」按鈕建立增強安全機制資料庫需要的全部信息。
2. 為什麼每次打開ACCESS資料庫都會彈出"安全警告"的對話框呢
這是Office關於「不安全表達式」的安全警告,對普通用戶而言,可以將它關閉,這樣就不會遇到類似的提示問題了。
操作方法如下:啟動Access,在「工具」菜單上指向「宏」,然後單擊「安全性」,單擊「安全級」選項卡,然後單擊「低……」,單擊「確定」按鈕,重新啟動Access即可。
3. 如何保證access
加密或解密資料庫
最簡單(也是安全性最低)的保護方法是對資料庫進行加密。加密資料庫就是將資料庫文件壓縮,從而使某些實用程序(如字處理器)不能解讀這些文件。加密一個不具有安全設置的資料庫並不能保證資料庫的安全,因為任何人都可以打開資料庫並完全訪問資料庫中的所有對象。有關對資料庫進行安全設置的詳細內容,請參閱本文後面的使用 Security Wizard 設置 Access 資料庫的安全性。
加密可以避免在以電子方式傳輸資料庫或者將其存儲在軟盤、磁帶或光碟上時,其他用戶偶然訪問資料庫中的信息。然而 Jet(Access 使用的資料庫引擎)使用的加密方法非常薄弱,因此絕不能用於保護敏感數據。「加密/解密資料庫」命令位於「工具」菜單的「安全」子菜單中。解密資料庫是對加密過程的逆運算。
使用自定義界面
另一種相對簡單的保護方案是使用自定義界面代替 Access 標准界面。與加密一樣,它也不能保護資料庫中的對象和敏感數據的安全。通過選擇「工具」菜單中的「啟動」選項,您可以指定自定義的啟動窗體、菜單,甚至自定義的標題和圖標。還可以選擇取消 Database 窗口,從而對缺乏相應技術的應用程序用戶隱藏這些對象。「啟動」對話框的各項功能也可以通過編程實現。有關如何從「啟動」對話框設置啟動選項的詳細信息,請參閱 Access 幫助中的「關於啟動選項」。有關如何通過編程設置啟動選項的詳細信息,請參閱 Access 幫助 Microsoft Visual Basic® 編輯器的「設置『啟動』選項和編碼中的選項」。
設置資料庫密碼
您可以在資料庫上設置密碼,從而要求用戶在訪問數據和資料庫對象時輸入密碼。
注意:使用密碼保護資料庫或其中的對象的安全性也稱為共享級安全性。
您不能使用此選項為用戶或組分配許可權,因此任何掌握密碼的人都可以無限制地訪問所有 Access 數據和資料庫對象。「設置資料庫密碼」命令位於「工具」菜單的「安全」子菜單中。
用戶級安全性
除共享級安全性外,您還可以使用用戶級安全性,它提供了最嚴格的訪問限制,使您能夠最大限度地控制資料庫及其中包含的對象。這是我們所推薦的資料庫保護措施的一部分(當和操作系統提供的文件級和共享級安全性結合使用時),因此我們將在本文後面對用戶級安全性做詳細介紹。
同樣,我們也將討論用於保護資料庫中包含的 Visual Basic for Applications (VBA) 代碼的各種方法。
警告:用戶級安全性(在單獨使用時)主要用於保護資料庫中的代碼和對象,以免用戶不小心進行了修改或更改。如果不希望用戶非法訪問窗體、報表或模塊中的代碼,則必須將 .mdb 文件轉換為 MDE 文件(本文後面將詳細介紹)。要避免用戶修改資料庫中的查詢、宏或數據訪問頁,唯一的方法就是將資料庫文件放在一個受保護的文件共享區域中。此外,在 Access 中不可能既允許用戶修改表中的數據,同時又禁止其修改表的設計或刪除表。要提供這樣一種功能,需要使用一個基於伺服器的資料庫產品,例如 Microsoft SQL Server™。
設置模塊密碼
使用密碼可以保護所有標准模塊和類模塊(例如窗體和報表中包含的代碼)以免用戶不小心修改或查看 VBA 代碼。設置密碼後,您只需在每次會話時輸入一次密碼,以便在 Visual Basic 編輯器中查看或修改代碼。除查看和編輯外,在剪切、復制、粘貼、導出或刪除任何模塊時也都需要密碼。但應該清楚的是,使用這種方法保護代碼不能防止您或其他用戶運行代碼,也不能防止其他用戶使用第三方實用程序(如 16 進制編輯器)來查看代碼。要完全保護代碼,必須將 .mdb 文件轉換為 MDE 文件。
要為項目中的模塊設置密碼:
1.為該項目從 Visual Basic 編輯器的「工具」菜單中選擇「屬性」命令。
2.在「項目屬性」對話框中,單擊「保護」選項卡。
3.選中「查看時鎖定工程」復選框並鍵入密碼。
4.在「確認密碼」框中,重新鍵入密碼,然後單擊「確定」。
使用 MDE 文件
通過將資料庫文件轉換為 MDE 文件,可以完全保護 Access 中的代碼免受非法訪問。將 .mdb 文件轉換為 MDE 文件時,Access 將編譯所有模塊,刪除所有可編輯的源代碼,然後壓縮目標資料庫。原始的 .mdb 文件不會受到影響。新資料庫中的 VBA 代碼仍然能運行,但不能查看或編輯。資料庫將繼續正常工作,您仍然可以升級數據和運行報表。尤其是,將 Access 資料庫保存為 MDE 文件可以防止以下操作:
• 在設計視圖中查看、修改或創建窗體、報表或模塊。
• 添加、刪除或更改對對象庫或資料庫的引用。
• 使用 Access 或 VBA 對象模型的屬性或方法更改代碼 - MDE 文件不包含可編輯代碼。
• 導入或導出窗體、報表或模塊。而表、查詢、數據訪問頁和宏可以導入非 MDE 資料庫,或從中導出。
要將.mdb文件轉換為 MDE 文件:
1.關閉資料庫。
2.單擊「工具」菜單中的「資料庫實用工具」。
3.單擊「生成 MDE 文件」。
4.在「保存資料庫為 MDE」對話框中,找到 .mdb 文件,然後單擊「生成 MDE」。
注意:在 Access 2002 中創建的資料庫使用默認的 Access 2000 文件格式。Access 2000 文件格式的資料庫只能在 Access 2000 中轉換為 MDE 格式。要在 Access 2002 中將以默認的 Access 2000 格式創建的 .mdb 文件轉換為 MDE 文件,必須先將文件轉換為 Access 2002 文件格式。為此,可以首先以獨占方式打開資料庫(要以獨占方式打開資料庫,請參閱本文後面的手動設置資料庫密碼一節)。接下來,指向「工具」菜單中的「資料庫實用工具」,指向「轉換資料庫」,然後單擊「轉為 Access 2002 文件格式」。資料庫即可轉換為 MDE 文件。
關於 Access 用戶級安全性
Access 使用 Microsoft Jet 資料庫引擎來存儲和檢索資料庫中的對象。Jet 資料庫引擎使用基於工作組的安全模型(也稱為用戶級安全性)來判斷誰可以打開資料庫,並保護資料庫所包含對象的安全。無論是否明確設置了資料庫的安全性,用戶級安全性對所有 Access 資料庫始終處於打開狀態。您可以通過操縱用戶和組帳戶的許可權和成員身份來更改 Access 中的默認安全級別。下面將對此進行介紹。
無論何時啟動 Access,Jet 資料庫引擎都要查找工作組信息文件(默認名稱為 system.mdw,也可以使用擴展名 .mdw 任意命名)。工作組信息文件包含組和用戶信息(包括密碼),這些信息決定了誰可以打開資料庫,以及他們對資料庫中的對象的許可權。對單個對象的許可權存儲在資料庫中。這樣,例如,就可以賦予一個組的用戶(而不是其他用戶)使用特定表的許可權,而賦予另一個組查看報表的許可權,但不能修改報表的設計。
工作組信息文件包括內置組(Admins 和 Users)以及一個通用用戶帳戶 (Admin),該帳戶具有管理資料庫及其包含的對象的許可權(無限制)。您也可以使用菜單命令(「工具」菜單中的「安全」子菜單)或者通過 VBA 代碼添加新的組和用戶。
注意:安裝 Access 時,安裝程序會自動創建工作組信息文件,並使用您指定的名稱和單位信息來命名。因為這一信息通常很容易被判斷出來,因而未經授權的用戶很可能會創建另一個版本的工作組信息文件,從而在由該工作組信息文件定義的工作組中,為自己設定一個不可撤消的管理員帳戶(Admins 組的成員)許可權。為防止發生這種情況,應創建一個新的工作組信息文件,並指定唯一的工作組 ID (WID)。這樣,只有知道 WID 的用戶才能創建該工作組信息文件的副本。本文後面將討論使用 User-level Security Wizard 創建新的工作組信息文件。
Admins 組不能被刪除,其成員具有不可撤消的管理許可權。您可以通過菜單或代碼刪除 Admins 組的許可權,但 Admins 組的任何成員都可以重新添加許可權。此外,Admins 組中必須始終至少有一個管理資料庫的成員。對於沒有進行安全設置的資料庫,Admins 組始終包含默認的 Admin 用戶帳戶,它也是所有用戶默認登錄的帳戶。
所有用戶必須屬於默認的 Users 組,不管他們是否還屬於其他組。您可以在 VBA 中創建用戶帳戶,而並不將新的用戶帳戶添加到 Admins 組中。然而,如果不同時將該用戶帳戶添加到 Admins 組中,該用戶將無法成功啟動 Access,因為 Access 內部使用的用於管理資料庫的很多表都映射到 Users 組的許可權。
使用以下步驟進行 Access 資料庫的安全設置:
1.將新用戶帳戶添加到 Admins 組中。該用戶對資料庫中的對象具有管理許可權。
2.從 Admins 組中刪除默認的 Admin 用戶帳戶。
3.從 Admin 用戶和 Users 組中刪除許可權。
4.為所創建的任何自定義組分配許可權。
在默認 Admin 用戶帳戶上設置密碼會激活登錄對話框,從而每次啟動 Access 時都會提示用戶輸入用戶名和密碼。如果您沒有在 Admin 帳戶上設置密碼,用戶將自動作為 Admin 用戶登錄,無需密碼,也不會出現登錄對話框。
對資料庫中對象的許可權可以是顯式的(直接分配給用戶帳戶)或隱式的(從用戶所屬的組繼承),也可以是兩者的結合。Access 在許可權問題上使用「最少限制」規則,即用戶的許可權包括其顯式和隱式許可權的總和。例如,如果用戶 A 的帳戶具有限制許可權,而用戶 A 屬於一個具有限制許可權的組,同時也屬於另一個具有管理(所有)許可權的組,那麼用戶 A 將具有管理許可權。有鑒於此,通常最好不要為用戶帳戶分配顯式許可權。而應創建具有不同許可權的組,然後將用戶分配給具有適當許可權的組,這會減少資料庫管理方面的麻煩。
在以下各節中,我們將展示如何通過用戶界面和編程手段來保護資料庫及其包含的對象。首先,我們來看看幾種設置資料庫密碼的不同方法。
手動設置資料庫密碼
可以為資料庫設置密碼,從而要求用戶在訪問資料庫時輸入密碼。然而,一旦用戶登錄後,便可以不受限制地訪問資料庫中的數據和對象。
注意:在設置資料庫密碼之前,建議備份資料庫並將其存儲在一個安全的位置。
在設置資料庫密碼之前,需要以獨占方式打開資料庫。要以獨占方式打開資料庫:
1.如果資料庫處於打開狀態,關閉資料庫。
2.單擊「文件」菜單中的「打開」重新打開資料庫。
3.在「打開」對話框中,找到資料庫,單擊「打開」按鈕旁邊的箭頭,然後單擊「以獨占方式打開」。
要手動設置資料庫密碼:
1.在「工具」菜單中,指向「安全」,然後單擊「設置資料庫密碼」。
2.在「密碼」框中,鍵入密碼。
注意:密碼區分大小寫。
3.在「驗證」框中,重新鍵入密碼以確認,然後單擊「確定」。
現在就設置了資料庫密碼。下次或其他用戶打開資料庫時,會出現一個對話框要求輸入密碼。下面來看看如何通過編程設置資料庫密碼。
4. ASP網站的ACCESS資料庫安全設置
假設你的空間物理路徑為d:\web\abc\root,你的站點根目錄放在abc目錄下,名為wwwroot,資料庫目錄為abc目錄下的databases文件夾,設置方法如下:
首先,我們打開conn.asp,找到DBPath = "/KS_Data/KesionCMS4.mdb" 'ACCESS資料庫的文件名,請使用相對於網站根目錄的的絕對路徑
將它修改為DBPath = "d:/web/abc/root/databases/KS_Data/KesionCMS4.mdb" 'ACCESS資料庫的文件名,請使用相對於網站根目錄的的絕對路徑
然後找到ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DBPath)這一句,
將它改為ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBPath
如果需要採集,採用同樣方法修改。
如果有以下文件,也需要修改
將/admin/KS.Database.asp文件中的「Server.MapPath(DBPath)」、「Server.MapPath(CollectDBPath)」、「Server.MapPath(strCurDir)」全部搜索出來並且分別替換為「DBPath」、「CollectDBPath」、「strCurDir」。這是後台"備份/壓縮資料庫"頁面的資料庫連接。
修改後保存文件,打開網站和後台試試看吧!
5. 如何增強網站資料庫Access文件的安全性
??舊?嫻囊?兀?還蓯歉鋈擻沒Щ故瞧笠滌沒Ф擠淺R覽低?臼?菘獾鬧С鄭?歡?芏啾鷯杏眯牡墓セ髡咭餐??淺!翱粗亍蓖?臼?菘狻
對於個人網站來說,受到建站條件的制約,Access資料庫成了廣大個人網站站長的首選。然而,Access資料庫本身存在很多安全隱患,攻擊者一旦找到資料庫文件的存儲路徑和文件名,後綴名為「.mdb」的Access資料庫文件就會被下載,網站中的許多重要信息會被一覽無余,非常可怕。當然,大家採用了各種措施來加強Access資料庫文件的安全,但真的有效嗎?存在漏洞的保護措施
流傳最為廣泛的一種Access資料庫文件保護措施,是將Access資料庫文件的後綴名由「.mdb」改為「.asp」,接著再修改資料庫連接文件(如conn.asp)中的資料庫地址內容,這樣一來即使別人知道資料庫文件的文件名和存儲位置,也無法進行下載。
這是網上最流行的一種增強Access資料庫安全的方法,而且還有強大的「理論基礎」。
因為「.mdb」文件不會被IIS伺服器處理,而是直接將內容輸出到Web瀏覽器,而「.asp」文件則要經過IIS伺服器處理,Web瀏覽器顯示的是處理結果,並不是ASP文件的內容。
但大家忽略了一個很重要的問題,這就是IIS伺服器到底處理了ASP文檔中的哪些內容。這里筆者提醒大家,只有ASP文件中「」標志符間的內容才會被IIS伺服器處理,而其他內容則直接輸出到用戶的Web瀏覽器。你的資料庫文件中包含這些特殊標志符嗎?即使有,Access也可能會對文檔中的「」標志符進行特殊處理,使之無效。因此後綴為「.asp」的資料庫文件同樣是不安全的,還是會被惡意下載。
面對蠱惑人心的理論,以及眾人的附和,筆者也開始相信此方法的有效性。但事實勝於雄辯,一次無意間的試驗,讓筆者徹底揭穿了這個謠言。
筆者首先將一個名為「cpcw.mdb」的資料庫文件改名為「cpcw.asp」,然後上傳到網站伺服器中。運行flashGet,進入「添加新的下載任務」對話框,在「網址」欄中輸入「cpcw.asp」文件的存儲路徑,然後在「重命名」欄中輸入「cpcw.mdb」。進行下載後,筆者發現可以很順利地打開「cpcw.mdb」,而且它所存儲的信息也被一覽無余。這就充分說明了單純地將資料庫文件名的後綴「.mdb」改為「.asp」,還是存在安全隱患。
沒有最「安全」,只有更「安全」
任何事情都不是絕對的,因此增強Access資料庫文件的安全也只是相對的。畢竟Access只能用於小型資料庫的解決方案,它存在很多先天不足,特別是在安全方面。
資料庫文件名應復雜
要下載Access資料庫文件,首先必須知道該資料庫文件的存儲路徑和文件名。如果你將原本非常簡單的資料庫文件名修改得更加復雜,這樣那些「不懷好意」者就要花費更多的時間去猜測資料庫文件名,無形中增強了Access資料庫的安全性。
很多ASP程序為方便用戶使用,它的資料庫文件通常都被命名為「data.mdb」,這大大方便了有經驗的攻擊者。如果我們將資料庫文件名修改得復雜一些,他人就不易猜到,如將「data.mdb」修改為「1rtj0ma27xi.mdb」,然後修改資料庫連接文件中的相應信息。這樣Access資料庫就相對安全一些。此方法適合於那些租用Web空間的用戶使用。
不足之處:一旦查看到資料庫連接文件(如conn.asp)中的內容,再復雜的文件名也無濟於事。
6. access資料庫的功能,應用安全性如何
性能還好,安裝比較普遍,一般裝OFFICE的機器都有裝ACCESS
做為單機版的資料庫,用用還好。
不過,沒啥安全性可言,破解ACCESS資料庫密碼的工具還是比較多的