MYSQL网页编程之加密背景数据库的办法
与其他数据库相比,MySQL易学易用。地球人都晓得,MDB文件很不平安,破解MDB文件暗码的软件层见叠出,那是不是假如我们MDB作背景数据库,是否是就即是任人分割了呢?我以为一定是如许的。我用过很多Access暗码破解器,年夜多半都只能处置英文暗码,因而我们能够针对这一特性,把MDB文件的数据库暗码设置为中文的,如许就能够抵御年夜部分破解器的打击了。
必定有人会说,既然人家能写出破解英文暗码娜砑欢ㄒ部梢孕闯銎平庵形拿苈氲娜砑U饩浠耙坏愣济淮恚还颐腔褂械诙校焊奈募贰?
MDB的头16个字节保留着文件范例、版本等诸云云类的主要信息,Access靠这些信息来辨认它们,假如我们修改一个或多个字节,Access就会因没法辨认这些文件而打不开它们,也就到达了我们的目标:加密MDB文件。加密思绪以下:
翻开文件时,把准确的头文件内容写进响应的地位,我们自已的程序就能够会见它,封闭文件时把变动过的毛病的头文件内容写进响应的地位。如许做有个坏处,就是程序运转时,背景文件是能够会见的,只要封闭后才加密,那末当程序运转时,他人假如晓得了数据库暗码,仍是能够检察或导出数据的。
另外一种做法是翻开背景数据库后,即刻创建一个延续到程序停止的物理毗连,然后再把毛病的文件头内容写进响应的地位,如许在程序运转傍边,我们的前台程序是能够一般会见背景数据的,而不晓得我们的加密办法的人是没法翻开背景文件的。使背景能够一般会见
FunctionOpenHt(HTmdbPathAsString)
DimfhAsInteger
fh=FreeFile
OpenHTmdbPathForBinaryAccessWriteAs#fh
Putfh,2,&H1
Close#fh
EndFunction
使背景没法一般会见
FunctionCloseHt(HTmdbPathAsString)
DimfhAsInteger
fh=FreeFile
OpenHTmdbPathForBinaryAccessWriteAs#fh
Putfh,2,&H0
Close#fh
EndFunction
上面的都是跟背景创建物理毗连的函数(必需放在模块里)
PublicHTcnAsConnection
PublicHTrsAsNewADODB.Recordset
PublicHTsqlAsString
创建物理毗连
FunctionOpenStandHT()
SetHTcn=CurrentProject.Connection
表1要改成响应的表名
HTsql="select*from表1"
HTrs.OpenHTsql,HTcn,3,3,1
EndFunction
封闭物理毗连的函数,如加入程序时,或必要紧缩背景文件时就要封闭物理毗连
FunctionCloseStandHT()
HTrs.Close
SetHTcn=Nothing
EndFunction
一些典型的RDBMS功能并不总是在DBaaS系统中可用。例如MySQL学习教程,WindowsAzureSQLDatabase(以前的SQLAzure)是微软的DBaaS产品,提供了一个类似于SQLServer的数据库平台。 这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。 SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。) 换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的 sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西 sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西 你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。 然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情
页:
[1]