[整理版]防止Access数据库被下载的9种方法(2)
作者:tyhouse 来源:twocity.cn 发布时间:2007-08-10 09:31:00
6.使用ODBC数据源。
在ASP等程序设计中,如果有条件,应尽量使用ODBC数据源,不要把数据库名写在程序中,否则,数据库名将随ASP源代码 的 * 而一同 * ,例如: DBPath = Server.MapPath("../123/ abc/asfadf.mdb ")
conn.open "driver={Microsoft Access Driver&nb sp;(*.mdb)};dbq="& DBPath
可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码 * 后,也很容易被下载下来。如果使用ODBC数据源,就不 会存在这样的问题了: conn.open "ODBC-DSN名" ,不过这样是比较烦的,目 录移动的话又要重新设置数据源了,更方便的方法请看第7,8法!
7.添加数据库名的如MDB的扩展映射
这个方法就是通过修改IIS设置来实现,适合有IIS控制权的朋友,不适合购买虚拟主机用户(除非管理员已经设置了)。这个 方法我认为是目前最好的。只要修改一处,整个站点的数据库都可以防止被下载。无须修改代码即使暴露目标地址也可以防止下载。&n bsp;
我们在IIS属性---主目录---配置---映射---应用程序扩展那里添加.mdb文件的应用解析。注意这里的选择的D LL(或EXE等)似乎也不是任意的,选择不当,这个MDB文件还是可以被下载的, 注意最好不要选择选 择asp.dll等。你可以自己多测试下
这样修改后下载数据库如:http://www.test.com/data/dvbbs6.mdb。就出现(404或50 0等错误)
8:使用.net的优越性
动网的木鸟就写过一个防非法下载文件的"WBAL 防盗链工具"。具体可以登陆http://www.9seek .com/WBAL/ ;
不过 那个只实现了防止非本地下载的 ,没有起到真正的防下载数据库的功能。不过这个方法已经跟5法差 不多可以通过修改.NET文件,实现本地也不能下载!
这几个方法中,只有第7和8个是统一性改的,一次修改配置后,整个站点的数据库都可以防止下载,其他几个就要分别修改数据库 名和连接文件,比较麻烦,不过对于虚拟主机的朋友也只能这样了!
其实第6个方法应该是第5个方法的扩展,可以实现特殊的功能,但对于不支持.net的主机或者怕设置麻烦的话,还是直接用第 5个方法了,而且默认情况下第6个方法,依然可以通过复制连接到同主机的论坛或留言本发表,然后就可以点击下载了(因为这样的引 用页是来自同主机的)
9.利用NTFS分区的文件权限设置(by percyboy)
我们已经知道,ASP.NET 中使用 ADO.NET 访问数据库,通过 OleDb 的连接可以访问 Access 数据库— —我们非常常用的低端数据库之一。本文讨论了 ASP.NET 中可能看到的若干错误提示,从中看到&nb sp;Access 2000 和 Access XP 创建的数据库文件 ,在访问出现错误时会出现不太相同的错误提示。希望对大家有所帮助。另一个要点是,希望通过此文,使大家对 ASP. NET 中 Access 数据库文件的 NTFS 权限设置有所新的认识 。
(一)实验过程
为了叙述方便,举个具体例子做个实验:应用程序为 /test ,数据库存放在 D:\wwwr oot\test\data\db1.mdb,我们已经知道在 ASP.NET 中是以一个叫做 ;ASPNET 虚拟用户的身份访问数据库的,我们需要给这个账户以特定的 NTFS 权限才能 使 ASP.NET 程序正常运行。
为了得到最严格的 NTFS 权限设置,实验开始时我们给程序最低的 NTFS 权限 :
a) D:\wwwroot\test\data\ 文件夹的给用户ASPNET 以如下权限:
允许 拒绝
完全控制 □ □
修改 □ □
读取及运行 √ □
列出文件夹目录√ □
读取 √ □
写入 □ □
b) D:\wwwroot\test\data\db1.mdb 文件本身给用户ASPNET以如下权限:
√ 允许将来自父系的可继承权限传播给该 对象


猜你喜欢
- 背景在微信分享开发的时候我们通常的流程是 <?php require_once "jssdk.php"; $jss
- 上几章节我们主要学习了如何读取文章,而主要任务是读取文档中的文本信息,也就是字符串,而图片本身是不可读的文件所以并没有去读取图片。从今天开始
- Python encode()方法encode() 方法为字符串类型(str)提供的方法,用于将 str 类型转换成 bytes 类型,这个
- OL是有序列表,但给list-style-type:decimal 定义,在IE中却显示的全是1,在火狐、Opera、谷歌、Safari等中
- 一、数据的概括性度量1、统计学概括:统计学是应用数学的一个分支,主要通过利用概率论建立数学模型,收集所观察系统的数据,进行量化的分析、总结,
- 最近准备复现一下 KDD-20 Towards Deeper Graph Neural Networks 的代码,顺便学习一下 GCN 最新
- 前言发现一个不错的壁纸网站,里面都是超高清的图片,而且还是免费为的。所以,我打算把这些壁纸都爬取下来,然后在做一个自动跟换桌面壁纸的脚本,这
- 也就在前几天,南太平洋岛国汤加发生火山喷发,有专门的专家学者分析,这可能是30年来全球规模最大的一次海底火山喷发,它引发的海啸以及火山灰将对
- 本文实例讲述了PHP版微信小店接口开发方法。分享给大家供大家参考,具体如下:首先 大家可以去下一份小店开发的 API接口 因为 下面所有的
- 最近想尝试一下在IBM Bluemix上使用Python语言创建Web应用程序,所以需要在本地搭建Python Web的开发测试环境。关于P
- 2022-09-29shell操作:我在使用中是pycharm与数据库建立连接的一个工具。使用的环境:在此处是用在了虚拟环境中。使用场景:一
- 如何终止浏览器的 CAHCE 页面?Function Redirect( NewURL ) If&n
- 一、安装并配置 JMeter下载官网下载,下载二进制的这个 zip配置环境变量然后解压到你喜欢的位置,配置环境变量,新建一个 JMETER_
- 本文主要研究的是Python编程turtle的实例,绘制一个七彩蟒蛇。。具体如下。第2周的课后练习里,有一道题目,要求修改“蟒蛇绘制”程序,
- 废话不多说啦,直接看代码吧!tf.concatt1 = [[1, 2, 3], [4, 5, 6]]t2 = [[7, 8, 9], [10
- dom0级事件<a href="#" id="hash" onclick="fn()
- 有时候我们需要判断两个字符串内容是否相等,判断内容相等,我们用‘==',但是有时候发现print(str1)和print(str2)
- 类、构造函数、原型先来说明一点:在上面的内容中提到,每一个函数都包含了一个prototype属性,这个属性指向了一个prototype对象(
- 本文实例为大家分享了Python实现用户名和密码登录的具体代码,供大家参考,具体内容如下功能登录及注册,密码错误多次后验证码确认说明初次运行
- WindowsError的错误代码详解0操作成功完成。1功能错误。2系统找不到指定的文件。3系统找不到指定的路径。4系统无法打开文件。5拒绝