如系統C/S模式﹐后端數據庫在使用了工作群組+數據庫密碼+數據庫加密三重保護后, 只作為后端, 數據庫安全系數以算較高了(當然如又同時作為前端開發對所有使用人就只相當有個工作群組保護)。 如在前端完全不用連接表﹐前端開發就不會影響后端的原安全系數, 而一旦加了連接表, 后端數據庫的密碼就從前端的MsysObjects表泄露了﹐任何有權限進入前端的的人只要通過安全群組進入一個新ACCESS數據庫, 通過代碼即可取得系統前端MsysObjects表中的后端數據庫密碼.此時即可打開后端數據庫所用物件一覽無余,如有物件相應權限即可隨意操作﹐即使后端也有屏蔽shift鍵, 但通過工作群組進入另外一個新ACCESS中連接后端的表一樣什么都保護不了. 你說可怕不可怕.
對策:取消所用用戶對前端與后端所用物件的所用權限, 只在MDE前端代碼中用管理員的帳戶與密碼訪問后端進行數據操作﹐如此對后端數據庫的三重保護才有用。
當然如此麻煩﹐不能在前端建立連接表﹐又不能建立"Select * from ABC IN 'C:\DEF.mdb'"如此的查詢,你說ACCESS還有什么好處去作多用戶系統。
因本人經驗不足﹐可能有更好的安全策略﹐還請高手指教.
同時請教是否有方法可在VB6中打開一個用密碼加工作群組保護的ACCESS數據庫(不是DAO數據連接). 如有此方法也許ACCESS就會比較安全了(除非用特別工具,而非有個VBE就可搞定).
[此贴子已经被作者于2005-3-12 9:39:49编辑过]
|