2011-03-16 102 views
1

我正在開發與訪問2000年數據庫的Windows應用程序。因爲,我一直在開發中,我對保護數據庫知之甚少。而現在,它是我學習它並且遇到困難的時候。訪問2000年數據庫安全

數據庫位於我們的網絡服務器上的一個公共共享位置。我想知道如何保護數據庫,使任何人都無法從該位置打開,仍然能夠通過Windows應用程序讀取和寫入數據。

回答

1

聽起來你只需要在其上設置一些ACL,以便只有一個Windows帳戶可以訪問它,然後使用Windows應用程序模擬該帳戶。

1

您可以在數據庫上輸入密碼,以便在沒有知道密碼的情況下任何人都無法打開密碼。進行數據庫連接時,您的應用程序必須傳遞密碼,但這非常標準。

缺點是Access數據庫上的密碼保護功能不是很強大,因此任何技術上有一定犯罪意圖的人都可能破壞它。

2

如果您需要數據安全性,那麼您應該使用除Jet/ACE以外的其他數據作爲數據存儲。

你的問題的最後一句話還不太清楚,但這聽起來是矛盾的。爲了能夠編輯Jet/ACE數據庫,用戶必須對文件系統中的數據庫具有完整的CHANGE權限。這是沒有辦法的。

當然,如果你使用MDB格式,你可以使用Jet User-Level Security,但是很久以前就已經被破解了,Google需要大約10分鐘的時間併購買你需要破解的內容。做正確的做法也很挑剔和困難(很多人通過使用Jet ULS保護數據庫的動作,最終只做了更復雜的事情,而讓事情變得更加複雜)。

數據庫密碼是安全劇院,即使在A2007的ACCDB格式下,加密功能強大得多(不再易於破解)。但是,您必須在前端應用程序中對密碼進行編碼,除非您知道自己在做什麼,否則這是一個公開邀請,使用十六進制編輯器進行瀏覽以找到密碼。

如果您需要安全性,請升級到提供真正數據安全性的服務器數據庫後端。

2

我過去用Access 2000所做的是創建一個前端數據庫和後端數據庫。後端將只包含原始數據。前端將包含表格,報告等。

在後端,我將創建一個用於禁用和啓用shift鍵雙向傳遞的窗體。該表單具有「啓用雙向通行」和「禁用雙向通行」按鈕。它還有一個輸入密碼的文本框。要使用它,請輸入密碼並點擊任一按鈕。然後設置數據庫,以便在啓動時指定表單。只要shift鍵被禁用,他們就不能進入數據庫並直接修改數據。

在前端我應用相同的功能來阻止他們進入數據庫並編輯鏈接表中的數據。我還在前端使用Jet安全管理他們有權訪問的內容。