备份你的改过后缀名的ACCESS数据库
发表于:2007-07-02来源:作者:点击数:
标签:
近期在 开发 某公司的OA系统的后台时有一个关于A CC ESS 数据库 的问题。 为了防止数据库为不怀好意的人下载,需要更改数据库的后缀名为ASPX(ASP等其它也可以),而公司内部人员又需要通过IE来下载数据库实现对数据库进行备份。 当然,通过修改文件名后缀的
近期在
开发某公司的OA系统的后台时有一个关于A
CCESS
数据库的问题。
为了防止数据库为不怀好意的人
下载,需要更改数据库的后缀名为ASPX(ASP等其它也可以),而公司内部人员又需要通过IE来下载数据库实现对数据库进行备份。
当然,通过修改文件名后缀的方法来隐藏数据库并不是有个特别
安全的方法,毕竟以M为单位的数据库和以K为单位的ASPX页面相比,一眼都能看出这到底是数据库还是WEB页。不过,算是一个简单易行的方法吧。
首先,纯粹简单地修改数据库文件后缀名为ASPX并不能完全保证不会被下载,你下载这个ASPX页面再修改回后缀名就可以还原数据库。(前面说了,是可以很明显的看出哪些页面是由数据库假装的)
这里需要对这个修改后的文件做些手脚,加上<%%>,就可以让IIS把它当ASPX页处理,从而返回一个错误,而不是下载。并不能简单添加,需要先建立一个包含<%%>的文本文件,然后在原数据库中加一张表,加一个OLE对象的字段,然后加一条记录,OLE对象字段的内容指向前面建立的文本。
然后是关于自己内部的人员如何来正常下载数据库。通过.NET的HttpResponse对象向客户端输入数据库文件来实现下载。
修改HTTP头:
HttpContext.Current.Response.AppendHeader("Content-disposition","attachment;filename=backup.mdb");
HttpContext.Current.Response.ContentType ="application/ms-a
clearcase/" target="_blank" >ccess";
向客户端输入文件:
long FileSize = new FileInfo(DbPath).Length;
Response.WriteFile(DbPath , 0 , FileSize);
基本就是这样吧~
原文转自:http://www.ltesting.net