国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

Access安全嗎?——Access安全性之QA詳解

2024-07-21 02:09:29
字體:
來源:轉載
供稿:網友


access安全嗎?——access安全性之qa詳解

 

 

 

access安全嗎?——access安全性之qa詳解


    很多朋友在使用 mdb 文件時都遇到關于access的安全性問題,這里就以 q & a 的方式來回答大家的疑問:

q  mdb我用[啟動]的所有選項都 false,用封面表單啟動,同個工作組的用戶沒授權是不能開打表修改,但他可以另建一個空數據庫,進行導入或鏈接進行修改,如何防范?請賜教!

a  首先應該用ms access workgroup administrator程序建立自己的mdw文件,比如newsystem.mdw,然后建立一個新的帳號比如newadmin,缺省的有amdin和,比如guest帳號,然后設置各個帳號的密碼。然后以newadmin帳號登陸,建立數據庫,或者導入現有的數據庫中的表或窗體等進行開發。對數據庫的安全性進行設置。除了newadmin帳號,將所有的組和用戶對該數據庫的打開權限都屏蔽掉,其它權限也宜屏蔽掉。這樣的話安全了。這樣的話打開該數據庫只能關聯上新建的mdw文件,使用newadmin帳號才能打開。但是實際應用時當然還應該建立一個運行軟件的帳號,比如newuser,(最好不要用缺省的“用戶”帳號,這樣關聯到system。mdw上就可以進入,即使你設置密碼也不安全,因為copy一個新的system。mdw一樣可以關聯。)將newuser帳號對各個表的權限相應的設置,能讀寫,不能修改設計,對窗體只能運行即可,總之它是用來運行的。屏蔽一切可以修改的權限。這樣的話開發和運行就是兩個帳號,但是新的問題就是如果就這樣交給用戶使用,那么用戶就必須知道newuser帳號的密碼,那樣的話數據就又不安全了,所以還應該用vb或者delphi做個套子,最簡單的寫上一句,運行該數據庫就行了,比如:



strrunshell = "c:/program files/microsoft office/office/msaccess.exe /nostartup"
strrunshell = strrunshell & "/wrkgrp c:/newsystem.mdw c:/pinewood.mde /user newuser /pwd yourpassword"
retval = shell(strrunshell, vbmaximizedfocus)




當然這只是個意思,在這套子里寫寫別的也可以,比如檢查access是否安裝了,路徑是不是對,是不是注冊了等等。(附:用另外一個已經編譯成mde文件的數據庫也可以達到如上效果)

q  用戶安全組我也用過,但是我指的安全性主要針對內部人員,外面的高手如林,根本不要談安全性了。
access有個致命的毛病(或許我還不會用),它的安全性性能只能用在當前已設安全機制的數據庫,對用戶新建的數據庫根本無用,用戶只需用他的帳戶登錄access,新建一個*.mdb,再用鏈接功能即可把后端數據庫的表都鏈接起來(或者前端數據庫也可,因為前端數據庫的表是鏈接再后端數據庫的表上,他無非是再鏈接而已),他只要看懂表的內容,就可以任意修改了。
其實微軟稍改access讓它的安全機制適用所有的數據庫而不是當前數據庫,我們就不用傷腦筋去防范一些初哥兒們,作為我們使用安全機制無非也就防范這些內部使用者的非法修改、破壞而已。
所以我們需要access系統級安全機制或office developer edition也有一定的幫助

a  錯錯錯,“用戶只需用他的帳戶登錄access,新建一個*.mdb,再用鏈接功能即可把后端數據庫的表都鏈接起來(或者前端數據庫也可,因為前端數據庫的表是鏈接再后端數據庫的表上,他無非是再鏈接而已),他只要看懂表的內容,就可以任意修改了。”
這段話錯!如果access的安全性真的象賢弟所說的,那我所貼的那些可能都是空談了。你可能還是沒有按照我說貼的實踐一番。事實上是不會那樣的,因為我是新創建的系統文件(即mdw文件),關聯到新的系統文件創建數據庫,而此數據庫的打開權限只能由我指定的固定的用戶比如newuser才有,所以別人,不管關聯到什么系統文件上都是無法用新建的數據庫聯結上的,如果真是那樣,access早就該淘汰了!
如果你不相信我可以做一個數據庫發給你,看你能不能打開。我1997年開始使用access做開發,對我所完成的各種數據庫我都要反復測試的,你所說的情況如果可以,我早就積攢幾十個別人開發我想破解掉的數據庫了。。。。

q  愚弟還是不明白:
小弟在文中所指的用戶是指內部操作人員,我也做過很多測試:
例:我建立一個安全機制的數據庫,系統創建一個mdw文件,我設定一個新的只讀工作組及一個普通用戶(無管理員權),把系統的用戶組不設任何權限,然后退出access,選用新的mdw文件,用那個普通用戶登錄,建立一個新的文件,然后即可導入、鏈接先前那個已有安全機制的數據庫.

a  你可能還是沒認真讀我的帖子,其實access的幫助中有更詳盡的說明,非常詳細。不過為了徹底讓你明白,我就列個傻瓜式的步驟吧,賢弟不要介意,我也是讀著傻瓜式的幫助才逐漸變聰明的。
1、先用access安裝目錄下的wrkgadm.exe程序創建一個自己的mdw文件。然后關聯上。
2、登陸進access后,缺省是admin用戶,隨便建立mdb,修改admin用戶密碼,建立一個新的帳號,比如pinewood,作為我今后管理變成用,再建立一個newuser,給我以后的用戶用。(可以不建立任何組)
3、重新登陸,以pinewood登陸,然后修改密碼,即把空密碼修改掉。對newuser帳號也重復一次。
4、以pinewood登陸,建立你所需要開發的數據庫mdb源文件,起名字比如mycode保存后即可對安全性設置。安全性設置你應該知道在哪里吧,菜單里有。將所有admin以及guest對mycode的任何權限都屏蔽掉,注意,任何權限,不管是對新表還是新模塊,還是對數據庫的打開權限,全去掉。然后對所有組對本數據庫的全部權限也全屏蔽掉。不能遺漏。如果用戶組不屏蔽掉其權限,屬于這個組的admin以及guest都可以打開數據庫了。
5、然后對pinewood對數據庫的權限進行設置,當然,應該是所有權限都有。對newuser權限進行設置,當然對所有表、查詢等除了修改設計權限,讀寫的權限是應該有的,打開數據庫的權限也是應該有的,運行的權限也應該有的。總之這個帳號是給用戶用的。
6、然后做開發,建立表窗體等。你已經做過了,那就導入進來。但這時候你的數據庫是安全的,別人是無法從mycode中得到任何東西的。除非知道密碼。
7、開發完后應該是分離數據庫,不止到你是不是這樣做的,然后讓后臺的mdb數據庫一樣的安全。然后編譯前臺程序為mde文件。
8、做個exe文件,我在別的帖子里說了,簡單的使用newuser帳號打開數據庫的exe文件。是給你的用戶用的,這樣他們除了使用這個exe使用數據庫,沒別的辦法。
9、然后把mdb放到服務器端,mde和mdw以及exe發布給用戶使用。當然mde和mdb的關聯關系是事先建立并調試好的。編程中如何處理就不用說了。
10、做到這里就足夠了,對于非常需要安全的開發者來說本來是還有一些工作要做的。可參見我的別的帖子。“注意”里說了一些。那些問題都是用到了自然會用,未用到的還是沒用。遇到哪個問題解決哪個,賢弟以為然否?

q  我的天?!!難道我要同時復制三個文件,mdb & mdw & exe??? ...
先不說vb 的exe可以很方便的反編譯,難道別人就不會把mdw文件先刪除,然后再打開mdb文件嗎?
如果說access的安全性僅限于此,那真的叫“徹底安全”了。 
另外問一下,我需要更“安全”的方法有嗎?前兩次說的方法只要稍微懂一點電腦知識的人就可以解決了。
 
a  對于文件共享方式,服務器端只需要安裝mdb數據庫,客戶端需要安裝的是exe、mdw和mde文件。
注意:
1、是mde文件,而不是mdb,數據庫應該是放在后端的,而mde文件是編譯過的,效率高,而且即使密碼被破解也不會泄露源代碼。
2、如果用戶刪除了mdw文件,那么就根本無法訪問數據庫了,如果不用我的mdw文件就能訪問我的mdb文件,那我談什么安全。
3、exe文件未必要用vb,vc、bc、delphi都可以,再說vb5以上的版本我還沒聽說可以反編譯的,也沒找到相應的工具。
4、目前破解access數據庫的用戶級安全密碼的工具也不少,但是對mdw文件的用戶是可以處理的,可以使之即使破解了mdw文件,也無法獲得使用mde源程序文件mdb的權限,更何況mde源程序文件mdb他是根本無法得到的,因為根本就未發布。無處得到,除非你計算機讓人隨便用。所以程序是肯定安全的,數據庫的數據的安全性雖是相對安全的,但是也是足夠的。  
http://www.access911.net 站長收藏
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 林芝县| 中江县| 法库县| 高清| 安康市| 武邑县| 义马市| 蓬溪县| 将乐县| 芷江| 铁岭市| 鄂伦春自治旗| 铜川市| 辽中县| 丽江市| 石渠县| 万安县| 盈江县| 江西省| 泰州市| 敦煌市| 法库县| 郎溪县| 永川市| 延吉市| 漾濞| 长乐市| 乌拉特前旗| 新营市| 清徐县| 松桃| 墨玉县| 兴海县| 台南市| 蒲江县| 莎车县| 花莲市| 环江| 定日县| 永宁县| 苗栗市|