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

首頁 > 開發(fā) > 綜合 > 正文

Access安全性之QA詳解

2024-07-21 02:12:31
字體:
供稿:網(wǎng)友
注冊會(huì)員,創(chuàng)建你的web開發(fā)資料庫,在寫這篇文章前首先要感謝網(wǎng)友:松木、zengwb、秋天、4432,謝謝他們圍繞access安全性的討論,現(xiàn)摘錄如下:

q mdb我用[啟動(dòng)]的所有選項(xiàng)都 false,用封面表單啟動(dòng),同個(gè)工作組的用戶沒授權(quán)是不能開打表修改,但他可以另建一個(gè)空數(shù)據(jù)庫,進(jìn)行導(dǎo)入或鏈接進(jìn)行修改,如何防范?請賜教!

a 首先應(yīng)該用ms access workgroup administrator程序建立自己腗dw文件,比如newsystem.mdw,然后建立一個(gè)新的帳號比如newadmin,缺省的有amdin和,比如guest帳號,然后設(shè)置各個(gè)帳號的密碼。然后以newadmin帳號登陸,建立數(shù)據(jù)庫,或者導(dǎo)入現(xiàn)有的數(shù)據(jù)庫中的表或窗體等進(jìn)行開發(fā)。對數(shù)據(jù)庫的安全性進(jìn)行設(shè)置。除了newadmin帳號,將所有的組和用戶對該數(shù)據(jù)庫的打開權(quán)限都屏蔽掉,其它權(quán)限也宜屏蔽掉。這樣的話安全了。這樣的話打開該數(shù)據(jù)庫只能關(guān)聯(lián)上新建的mdw文件,使用newadmin帳號才能打開。但是實(shí)際應(yīng)用時(shí)當(dāng)然還應(yīng)該建立一個(gè)運(yùn)行軟件的帳號,比如newuser,(最好不要用缺省的“用戶”帳號,這樣關(guān)聯(lián)到system。mdw上就可以進(jìn)入,即使你設(shè)置密碼也不安全,因?yàn)閏opy一個(gè)新的system。mdw一樣可以關(guān)聯(lián)。)將newuser帳號對各個(gè)表的權(quán)限相應(yīng)的設(shè)置,能讀寫,不能修改設(shè)計(jì),對窗體只能運(yùn)行即可,總之它是用來運(yùn)行的。屏蔽一切可以修改的權(quán)限。這樣的話開發(fā)和運(yùn)行就是兩個(gè)帳號,但是新的問題就是如果就這樣交給用戶使用,那么用戶就必須知道newuser帳號的密碼,那樣的話數(shù)據(jù)就又不安全了,所以還應(yīng)該用vb或者delphi做個(gè)套子,最簡單的寫上一句,運(yùn)行該數(shù)據(jù)庫就行了,比如: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)
當(dāng)然這只是個(gè)意思,在這套子里寫寫別的也可以,比如檢查access是否安裝了,路徑是不是對,是不是注冊了等等。(附:用另外一個(gè)已經(jīng)編譯成mde文件的數(shù)據(jù)庫也可以達(dá)到如上效果)

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

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

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

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

q 我的天?!!難道我要同時(shí)復(fù)制三個(gè)文件,mdb & mdw & exe??? ...
先不說vb 的exe可以很方便的反編譯,難道別人就不會(huì)把mdw文件先刪除,然后再打開mdb文件嗎?
如果說access的安全性僅限于此,那真的叫“徹底安全”了。
另外問一下,我需要更“安全”的方法有嗎?前兩次說的方法只要稍微懂一點(diǎn)電腦知識的人就可以解決了。

a 對于文件共享方式,服務(wù)器端只需要安裝mdb數(shù)據(jù)庫,客戶端需要安裝的是exe、mdw和mde文件。
注意:
1、是mde文件,而不是mdb,數(shù)據(jù)庫應(yīng)該是放在后端的,而mde文件是編譯過的,效率高,而且即使密碼被破解也不會(huì)泄露源代碼。
2、如果用戶刪除了mdw文件,那么就根本無法訪問數(shù)據(jù)庫了,如果不用我的mdw文件就能訪問我的mdb文件,那我談什么安全。
3、exe文件未必要用vb,vc、bc、delphi都可以,再說vb5以上的版本我還沒聽說可以反編譯的,也沒找到相應(yīng)的工具。
4、目前破解access數(shù)據(jù)庫的用戶級安全密碼的工具也不少,但是對mdw文件的用戶是可以處理的,可以使之即使破解了mdw文件,也無法獲得使用mde源程序文件mdb的權(quán)限,更何況mde源程序文件mdb他是根本無法得到的,因?yàn)楦揪臀窗l(fā)布。無處得到,除非你計(jì)算機(jī)讓人隨便用。所以程序是肯定安全的,數(shù)據(jù)庫的數(shù)據(jù)的安全性雖是相對安全的,但是也是足夠的。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 龙州县| 枞阳县| 陕西省| 崇义县| 平山县| 会昌县| 鹤山市| 丹寨县| 兰考县| 尉犁县| 阿瓦提县| 恭城| 汤阴县| 乐安县| 仁化县| 原阳县| 廊坊市| 揭西县| 始兴县| 辽中县| 奈曼旗| 孝昌县| 伊川县| 隆林| 鹿邑县| 安国市| 桓仁| 和平县| 兴和县| 普洱| 安图县| 巴彦县| 宜兰市| 临夏县| 江北区| 佛冈县| 中牟县| 遵化市| 浏阳市| 潮安县| 安康市|