8大措施帮你构筑Access安全防线(2)
来源:低一度博客 发布时间:2010-03-11 14:38:00
防范措施五:将数据库放在Root目录以外或将数据库连接文件放到其他虚拟目录下
这个方法是低一度目前正在使用的,强烈推荐之。比方说,你的WEB目录是D:\wwwroot,那么你可以将数据库放到D:\databases这个文件夹里,然后修改D:\wwwroot里的数据库连接文件,将数据库连接地址修改为:“../databases/数据库名” 的形式,这样数据库也可以正常调用,但是就无法下载了,因为它不存在于wwwroot目录里!这个方法一般不适合于购买虚拟主机的用户。当然,现在的多数虚拟主机程序在wwwroot目录平行位置,已经都有独立的databases目录了,这样子处理后相对来说是最安全的。因为在http环境下,根本没有url可以指向这个目录。除非黑了整台主机!
防范措施六:学会使用ODBC数据源。
在ASP等程序设计中,假如技术条件允许,应当尽量使用ODBC数据源,不要将数据库名写进程序中,否则,数据库名将跟随Asp源代码一同 * ,即使你的数据库名字起得再怪异,隐藏的目录再深,也可能很轻易被下载下来。假如使用了ODBC数据源,就不会存在这样的问题了:conn.open “ODBC-DSN名” ,不过这样是比较繁琐的,目录移动的话就要重新设置,更方便的方法请看下面吧!使用ODBC数据源处理的结果有一点不好,就是效率很低,速度会变慢,迁移也不方便。因此虽然安全,也不提倡。
防范措施七:添加数据库名的扩展映射
这个方法就是通过修改IIS设置来实现的,适合有IIS控制权的同学使用,不适合购买虚拟主机的用户(除非技术已经设置了)。但这个方法我认为是目前最好最可靠的。只要修改一处,整个站点的数据库都可以防止被下载,而无须修改代码,即使暴露目标地址也无妨。
操作:在“IIS属性——主目录——配置——映射——应用程序扩展”那里添加如.mdb文件的应用解析。注意,这里的选择的DLL(或EXE等)似乎也不是任意的,选择不当,这个MDB文件还是可以被下载的,最好不要选择asp.dll等。你可以自己多测试几下。经过这样的修改后,下载数据库如:http://www.diyidu.cn/data/123.mdb,就会出现404或500等错误。
防范措施八:懂得利用.net的优越性
动网的木鸟就写过一个防非法下载文件的“WBAL防盗链工具”。不过它只实现了防非本地下载的,没有起到真正的防下载数据库的功能。但这个方法已经跟措施五差不多,可以通过修改.NET文件,实现本地也不能下载!
最后总结:这几个措施中,只有七和八是统一性改的,一次修改配置后,整个站点的数据库都可以防下载,其他的几个措施就要分别修改数据库名和数据库连接文件了,比较麻烦,不过对于使用虚拟主机的朋友而言,也只能这样了!另外,其实第六个措施应该是第五个措施的扩展,可以实现非凡的功能,但如果对不支持.net的主机或怕设置麻烦的人而言,还是直接用第五种措施好了。OK,就这些吧!


猜你喜欢
- 问题:变量名是否合法: 1.变量名可以由字母
- 前言:随机数模块实现了各种分布的伪随机数生成器。对于整数,从范围中有统一的选择。 对于序列,存在随机元素的统一选择、用于生成列表的随机排列的
- 如果想设置相同的初值和想要的长度>>> a=[None]*4>>> print(a)[None, Non
- 引言 上一篇介绍完了观察者模式的原理,本篇想就此再介绍一个小应用,虽然我也就玩了一下午,是当时看observer正好找到的,以及还有Djan
- 毫无疑问,Google是当今世界上最成功的互联网公司之一,但是Google也曾推出过一些失败的实验品。还记得Google Accelerat
- 一、pip简介Pip 是安装python包的工具,提供了安装包,列出已经安装的包,升级包以及卸载包的功能。Pip 是对easy_instal
- 使用router.meta.keepAlive对页面进行缓存需求:1. 从stockList页面到stockInfo页面,从stockInf
- substr(string ,1,3) 函数解读:取string 中重左往右取3字长的字符串。结果为:str从右往左呢?应该有另一个函数来提
- 之前有个程序,里面有个时间部分是按照国内时区,也就是东八区,来写的,程序中定义了北京时间2点到八点进行检查;后面程序在国外机器上,例如说韩国
- 一、 文件的操作1.1创建文件格式:f = open(‘文件', ‘w')或者f = open(‘文件', ‘r
- 上次我们已经搞定了逻辑层的单元测试,这次我们来康康接口层的单元测试。接口层主要负责的就是请求的处理,最常见的就是 HTTP 请求的处理。但针
- 此文章主要向大家描述的是Java连接MYSQL 数据库(以MySQL为例)的实际操作步骤,我们是以相关实例的方式来引出Java连接MYSQL
- SQL Server 2000 的 XML 功能可以简化将现有代码作为 Web 服务提供的任务。本文集中讨论了传入和传出 Transact
- 方法1:使用Python中自带的print输出带有颜色或者背景的字符串书写语法print(\033[显示方式;前景色;背景色m输出内容\03
- 在蓝色看到的这个程序,不错!by:thornyzhl前天看到有个人写了能在网页中写字的程序,找不到了,我来个能擦写的....蛮有意思的阿.~
- Mysql 二进制安装方法下载mysqlhttps://dev.mysql.com/downloads/mysql/1.解压包tar xf
- Python:type、object、classPython: 一切为对象>>> a = 1>>> ty
- 查询mysql的操作信息show status -- 显示全部mysql操作信息show status like "com_ins
- 本文实例讲述了python中二维阵列的变换方法。分享给大家供大家参考。具体方法如下:先看如下代码:arr = [ [1, 2, 3], [4
- 在上一篇Python接口自动化测试系列文章:Python接口自动化浅析requests请求封装原理,主要通过源码分析,总结出一套简洁的请求类