数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
备份你的改过后缀名的ACCESS数据库

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

近期在开发某公司的OA系统的后台时有一个关于ACCESS数据库的问题。
为了防止数据库为不怀好意的人下载,需要更改数据库的后缀名为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-access";

                向客户端输入文件:
                                                long FileSize = new FileInfo(DbPath).Length;
 
                                                Response.WriteFile(DbPath , 0 , FileSize);
                
基本就是这样吧~




相关文章

相关软件