Access安全性之QA详解
时间:2007-12-23 来源:不详 作者:迈克DB
在写这篇文章前首先要感谢网友:松木、zengwb、秋天、4432,谢谢他们围绕Access安全性的讨论,现摘录如下: 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:ewSystem.mdw c:\pinewood.mde /user newUser /PWD yourpassword" dedecms.com
RetVal = Shell(strRunShell, vbMaximizedFocus)
当然这只是个意思,在这套子里写写别的也可以,比如检查ACCESS是否安装了,路径是不是对,是不是注册了等等。(附:用另外一个已经编译成MDE文件的也可以达到如上效果) Q 用户安全组我也用过,但是我指的安全性主要针对内部人员,外面的高手如林,根本不要谈安全性了。
ACCESS有个致命的毛病(或许我还不会用),它的安全性性能只能用在当前已设安全机制的,对用户新建的根本无用,用户只需用他的帐户登录ACCESS,新建一个*.MDB,再用链接功能即可把后端的表都链接起来(或者前端也可,因为前端的表是链接再后端的表上,他无非是再链接而已),他只要看懂表的内容,就可以任意修改了。
其实微软稍改ACCESS让它的安全机制适用所有的而不是当前,我们就不用伤脑筋去防范一些初哥儿们,作为我们使用安全机制无非也就防范这些内部使用者的非法修改、破坏而已。
所以我们需要ACCESS系统级安全机制或office developer edition也有一定的帮助 A 错错错,“用户只需用他的帐户登录ACCESS,新建一个*.MDB,再用链接功能即可把后端的表都链接起来(或者前端也可,因为前端的表是链接再后端的表上,他无非是再链接而已),他只要看懂表的内容,就可以任意修改了。” 内容来自dedecms
这段话错!假如ACCESS的安全性真的象贤弟所说的,那我所贴的那些可能都是空谈了。你可能还是没有按照我说贴的实践一番。事实上是不会那样的,因为我是新创建的系统文件(即MDW文件),关联到新的系统文件创建,而此的打开权限只能由我指定的固定的用户比如NEWUSER才有,所以别人,不管关联到什么系统文件上都是无法用新建的联结上的,假如真是那样,ACCESS早就该淘汰了!
假如你不相信我可以做一个发给你,看你能不能打开。我1997年开始使用ACCESS做开发,对我所完成的各种我都要反复测试的,你所说的情况假如可以,我早就积攒几十个别人开发我想破解掉的了。。。。
上一篇:防止Access 2000密码被破译的方法 下一篇:处理加了密码的MDB文件
文章评论
共有位Admini5网友发表了评论 查看完整内容