[整理版]防止Access数据库被下载的9种方法(3)
作者:tyhouse 来源:twocity.cn 发布时间:2007-08-10 09:31:00
1.1 对于某个只包含有"Select"命令的aspx程序,上述权限设置运行时无障碍,即:上述权限 已经满足这类程序的运行了。
1.2 对于包含有"Update""Insert""Update"等命令的aspx程序 ;
(a) 如果 db1.mdb 是 Access 2000 创 建的数据库,出现如下错误:
"/test"应用程序中的服务器错误。
---------------------------------------
Microsoft Jet 数据库引擎打不开文件'D:\wwwroot\test\data\'。&n bsp;它已经被别的用户以独占方式打开,或没有查看数据的权限。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误 以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: Microsof t Jet 数据库引擎打不开文件'D:\wwwroot\test\data\'。 它已经被 别的用户以独占方式打开,或没有查看数据的权限。
(b) 如果 db1.mdb 是 Access XP 创建的 数据库,出现如下错误:
"/test"应用程序中的服务器错误。
----------------------------------------------
操作必须使用一个可更新的查询。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误 以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个 可更新的查询。
(c) 原因初步分析:因为包含有"Update""Insert""Update"等命令,需要对数据库文件本身进 行写入操作,所以上述权限不能满足此需求,我们需要进一步放开权限。
我们放开一些权限,
a) D:\wwwroot\test\data\ 文件夹不变: & nbsp;
b) D:\wwwroot\test\data\db1.mdb 文件本身给用户ASPNET以如下权限:
允许 拒绝
完全控制 □ □
修改 □ □
读取及运行 √ □
列出文件夹目录 √ □
读取 √ □
写入 √ □
1.3 放开权限后继续实验
(a) 如果 db1.mdb 是 Access 2000 创 建的数据库,出现如下错误:
"/test"应用程序中的服务器错误。
------------------------------------------
不能锁定文件。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误 以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 不能锁定文件。& nbsp;
(b) 如果 db1.mdb 是 Access XP 创建的 数据库,没有出现错误。
(c) 原因初步分析:我们发现在打开 Access 数据库时,同时会在所在目录生成一个同名 的 *.ldb 文件,这是一个 Access 的锁定标记。鉴于此,我们猜测,用户 ASPNET 访问 Access 数据库时,也需要生成一个锁定标记,而该目录没 有允许其写入,因此出错。至于 Access XP 创建的数据库为什么没有这个错误,原因还不 得而知。
我们进一步放开权限,
a) D:\wwwroot\test\data\ 文件夹给用户ASPNET以 如下权限:
允许 拒绝
完全控制 □ □
修改 □ □
读取及运行 √ □
列出文件夹目录 √ □
读取 √ □
写入 √ □
b) D:\wwwroot\test\data\db1.mdb 文件本身给用户ASPNET以如下权限:
√ 允许将来自父系的可继承权限传播给该 对象


猜你喜欢
- 刚开始学习python,python相对于java确实要简洁易用得多。内存回收类似hotspot的可达性分析, 不可变对象也如同java得I
- 一、数据引擎简介在MySQL 5.1中,MySQL AB引入了新的插件式存储引擎体系结构,允许将存储引擎加载到正在运新的MySQL
- 1、net/http爬虫net/http配合正则表达式爬虫。package mainimport ("fmt""
- 一、前言作为一个数据库爱好者,自己动手写过简单的SQL解析器以及存储引擎,但感觉还是不够过瘾。<<事务处理-概念与技术>&
- 脚本如下: drop table table1; CREATE TABLE `andrew`.`table1` ( `name` VARCH
- Python2.5之后引入了上下文管理器(context manager),算是Python的黑魔法之一,它用于规定某个对象的使用范围。本文
- 注意,在改变数值之前锁定应用,确保一段时间里只有一个客户执行该语句。<SCRIPT LANGUAGE="VBScr
- <input type=button value=刷新 onclick="hist
- 本文实例讲述了Python Tensor FLow简单使用方法。分享给大家供大家参考,具体如下:1、基础概念Tensor表示张量,是一种多维
- Linux安装MySQL笔记1、在安装MySQL数据库服务器前,确保你的linux系统是可以连接网络的,下面我们将通过源码方式来安装mysq
- 前两天在帮朋友整理他的主页空间时候,发现的一点关于MySQL可能大家都会忽略的问题:我们知道,在安装完MySQL后,它会自动创建一个root
- 之所以有这样一篇文章,是因为在前几天的一个晚上,要下班的时候,业务方忽然有一个需求,是需要恢复一个表里面的数据,当时问了下情况
- cv的xdm可以直接翻到 需求 和 代码 用,想看中间的分析就老实往下看吧little 背景最近在做毕设,需要将几百篇整体结构差不多的文章中
- 运行环境由于这是一个Python语言的软件包,因此需要你的机器上首先安装好Python语言的环境。关于这一点,请自行在网络上搜索获取方法。关
- 用Python求解微分线性方程因为之前用matlab也编写过,所以前不久试着用python写,感觉之间互通点也蛮多的,易理解。题目:稀疏线性
- 在使用Keras搭建验证码识别模型时,需要大量的验证码图片。在这里,使用captcha模块生成验证码图片,验证码图片名称为验证码上显示的字符
- 项目要求:读完题目,首先我们要确定程序思路我们要全部通过类去实现也就是 我们要实现管理员、学生、讲师、课程、教师五个类管理员类class A
- 在图片处理过程中,有时候我们想要确定图片中某一像素的坐标,可以通过下面方法得到。点击运行程序,用鼠标点击我们想要获取坐标的区域,即可获得其坐
- MySQL从5.1.4版开始带有一个压力测试工具mysqlslap,通过模拟多个并发客户端访问mysql来执行测试,使用起来非常的简单。通过
- 有一个查询如下: 代码如下:SELECT c.CustomerId, CompanyName FROM Customers c