也谈access的安全性问题——关于roych和十段隐藏表问题的讨论
时 间:2011-01-18 00:00:00
作 者:红尘如烟 ID:10768 城市:成都
摘 要:之前关于roych和十段的激烈讨论,导致不少围观群众被拉下水,我本着强帖留名的原则冒了个泡,结果被老汉严肃批评了打酱油的行为,看来不说两句就对不起国家对不起党了……
正 文:
之前关于roych和十段的激烈讨论【【access小品】打群架--数据表的潜伏】,导致不少围观群众被拉下水,我本着强帖留名的原则冒了个泡,结果被老汉严肃批评了打酱油的行为,看来不说两句就对不起国家对不起党了……
那就说两句好了,我的观点是:
安全是相对的(这个地球人都知道),从技术层面讲,只要破解成本大于非法所得,我们就可以认为是安全的,但是安不安全更多的是对人的管理,而不能把什么事都推给计算机去解决,计算机只是一个工具,不是万能的上帝。就比如银行账号密码,这个基本上通过直接破解银行系统可能性非常之低,因为难度非常之大。那么为什么还是经常有被盗用的情况发生?因为使用人的习惯,很多人为了省事,把很多的账号密码记在纸上,甚至有人直接把密码写在银行卡上,这样银行卡一旦丢了,意味着什么不用我说了吧?
Access的的应用,最多的是个人和部门级的应用,当然也有一些规模不太大的企业级应用。而在实际应用当中,安全问题主要分为两种情况:
一种是数据的完整性和有效性,比如用于初始化的删除查询,这种一般是将所有的表清空,那么应该对它的使用进行严格控制,否则如果程序被不小心执行了,而你又很长时间没有备份,那么你就悲剧了,上次备份以来的数据全都重新录入吧(我刚接触Access那会就干过这样的事,结果一周的数据全都要重新录入)。类似的还有财务上的统计数据。所以要保证数据不出问题,最厉害的绝招就是备份,就算被人恶意把数据删除了,但哥昨天是备份了的,顶多把今天的数据重新录入一遍,谁怕谁!
另一种情况是对敏感数据的保护,而所谓敏感数据无非就是密码以及一些比较重要的统计报表之类的数据。对于密码,一般用MD5之类的不可逆加密即可,如果不小心忘记了,可以将其实重新设置为一个初始密码。这样就除了设置密码的人,其它人就算是管理员也不能知道密码原文,这样至少对于密码原文来说,要比使用可逆加密安全多了。因为很多人有多个账号使用同一个密码的习惯,所以被人知道了密码原文就意味着那些账号全部都不安全了。
对于统计报表之类的敏感数据,最有效的方式就是使用不同的客户端程序,对于没有权限的用户根本就不给他提供可用的敏感数据相关模块。这样做虽然在客户端分发时相对稍微麻烦点,但我想还是要比使用同样的客户端,然后绞尽脑汁去想办法不让没有权限的用户使用对应的模块要容易的多,毕竟在Access中窗体报表相对容易控制,但表和查询是很难控制的,而统计报表一般是基于查询的。如果只是能看到表中的数据,其实问题不是太大,因为有用的只是最后得出的统计结果,就算是对Access开发再熟悉,如果不是你开发的,那么你看看懂别人的表是怎么一个结构什么的,是要花不少时间的。然后还得想办法去自己统计查询,这个成本可就上去了。
另外不得不提到的一个情况,就是在设计时的对象命名,虽然我很不赞同和习惯使用拼音简写来命名,因为这样可读性太差,但任何事情都有两面性,正因为可读性差,所以在安全性上面来说就有好处。在最终的正式版中,删除掉所有的字段标题,说明之类的属性内容。甚至再邪恶一点加几个乱七八糟的无用字段在里面,平时保存修改数据的时候再保存一些看似有用的数据。嘿嘿,没有说明书,不知道查询是怎么写的,不知道实现思路,想要得到有用的重要数据,小样你就慢慢去琢磨吧……
所以说到底,计算机、软件之类的东东,只是起辅助作用,一切还是要以人为本,再先进的软件,不能和管理结合,就算牛上天了也没用。因此使用Access,重点还是要放在业务数据的处理上面,如何更好的辅助工作,提高工作效率。我见过的好几家规模在亿元以上的公司,用的用友之类的软件,数据库连密码都不设,说起来好像非常不安全,实际上呢,也没见人家用着有什么问题。企业中对Access比较了解或者精通的人可能只有百分之一,而这百分之一的人中,会对公司的软件系统进行恶意破解或破坏的人不到百分之一。因此,安全神马都是浮云,差不多够用就行,不能把那万分之一不到的机率无限放大,钻进牛角尖去了。
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)