HOME
BBS
深山帮帮欢迎您,您可以注册或者
qq登录只需一步,快速开始
深山旅行社网站管理系统开发完成,欢迎各位网友测试! 点这里测试
565449214 给站长留言
订阅本栏目 RSS您所在的位置: 深山工作室 > ASP学习 > 正文

从数据库管理下手提升网站安全

希赛网 2008-4-2 23:13:37 深山行者 字体:  浏览 3771 我要评论

数据库,网站运营的基础,网站生存的要素,不管是个人用户还是企业用户都非常依赖网站数据库的支持,然而很多别有用心的攻击者也同样非常“看重”网站数据库。

对于个人网站来说,受到建站条件的制约,Access数据库成了广大个人网站站长的首选。然而,Access数据库本身存在很多安全隐患,攻击者一旦找到数据库文件的存储路径和文件名,后缀名为“.mdb”的Access数据库文件就会被下载,网站中的许多重要信息会被一览无余,非常可怕。当然,大家采用了各种措施来加强Access数据库文件的安全,但真的有效吗?

存在漏洞的保护措施

流传最为广泛的一种Access数据库文件保护措施,是将Access数据库文件的后缀名由“.mdb”改为“.asp”,接着再修改数据库连接文件(如conn.asp)中的数据库地址内容,这样一来即使别人知道数据库文件的文件名和存储位置,也无法进行下载。

这是网上最流行的一种增强Access数据库安全的方法,而且还有强大的“理论基础”。

因为“.mdb”文件不会被IIS服务器处理,而是直接将内容输出到Web浏览器,而“.asp”文件则要经过IIS服务器处理,Web浏览器显示的是处理结果,并不是ASP文件的内容。

但大家忽略了一个很重要的问题,这就是IIS服务器到底处理了ASP文档中的哪些内容。这里笔者提醒大家,只有ASP文件中“”标志符间的内容才会被IIS服务器处理,而其他内容则直接输出到用户的Web浏览器。你的数据库文件中包含这些特殊标志符吗?即使有,Access也可能会对文档中的“”标志符进行特殊处理,使之无效。因此后缀为“.asp”的数据库文件同样是不安全的,还是会被恶意下载。

面对蛊惑人心的理论,以及众人的附和,笔者也开始相信此方法的有效性。但事实胜于雄辩,一次无意间的试验,让笔者彻底揭穿了这个谣言。

笔者首先将一个名为“cpcw.mdb”的数据库文件改名为“cpcw.asp”,然后上传到网站服务器中。运行flashGet,进入“添加新的下载任务”对话框,在“网址”栏中输入“cpcw.asp”文件的存储路径,然后在“重命名”栏中输入“cpcw.mdb”。进行下载后,笔者发现可以很顺利地打开“cpcw.mdb”,而且它所存储的信息也被一览无余。这就充分说明了单纯地将数据库文件名的后缀“.mdb”改为“.asp”,还是存在安全隐患。

没有最“安全”,只有更“安全”

任何事情都不是绝对的,因此增强Access数据库文件的安全也只是相对的。毕竟Access只能用于小型数据库的解决方案,它存在很多先天不足,特别是在安全方面。

我们所采用的各种方法,也只是相对来说增强了Access数据库文件的安全,并不能实现绝对的安全,毕竟先天不足的问题是无法解决的。下面笔者为大家介绍一些方法,虽然不能完全防止别人下载Access数据库文件,但只要你善用它们,Access数据库文件就会更安全。

方法一、数据库文件名应复杂

要下载Access数据库文件,首先必须知道该数据库文件的存储路径和文件名。如果你将原本非常简单的数据库文件名修改得更加复杂,这样那些“不怀好意”者就要花费更多的时间去猜测数据库文件名,无形中增强了Access数据库的安全性。

很多ASP程序为方便用户使用,它的数据库文件通常都被命名为“data.mdb”,这大大方便了有经验的攻击者。如果我们将数据库文件名修改得复杂一些,他人就不易猜到,如将“data.mdb”修改为“1rtj0ma27xi.mdb”,然后修改数据库连接文件中的相应信息。这样Access数据库就相对安全一些。此方法适合于那些租用Web空间的用户使用。

不足之处:一旦查看到数据库连接文件(如conn.asp)中的内容,再复杂的文件名也无济于事。

方法二、利用ODBC数据源

很多网站Web程序,将Access数据库文件的存储路径和文件名存放在数据库连接文件中。一旦这些连接文件中的内容外泄,那么不管数据库文件名多么复杂,都会暴露出踪迹。

这时就可以使用ODBC数据源方法,即使连接文件的内容外泄,他人也只能知道网站程序所使用的ODBC数据源名称,而数据库文件的存储路径和文件名却无法找到。

手工修改数据库连接文件(如conn.asp)中的内容,以及创建ODBC数据源。下面以笔者的论坛程序为例,首先将conn.asp文档中的

DBPath = Server.MapPath("./data/1rtj0ma27xi.mdb")

conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath

修改为:conn.open "rtjmaxi",其中“rtjmaxi”是指ODBC数据源名称。

接着在IIS服务器中新建名为“rtjmaxi”的ODBC数据源,并在其中指定“1rtj0ma27xi.mdb”数据库文件的位置即可,最后点击“确定”按钮完成配置。

不足之处:此方法不适合于租用Web空间的用户使用,要想使用ODBC数据源方法,必须要有管理和维护IIS服务器的权限。

方法三、改变存储位置

一般情况下,Access数据库文件存放在相应的Web目录中,很多黑客就是利用这种规律来查找并下载数据库文件。

因此可以采用改变数据库文件存储位置的方法,将数据库文件存放在Web目录以外的某个文件夹中,让黑客难以猜测存储位置。

接着修改好数据库连接文件(如conn.asp)中的数据库文件相应信息,这样Access数据库文件就安全多了。即使攻击者通过连接文件找到数据库文件的存储路径,由于数据库文件存放在Web目录以外的地方,攻击者就无法通过HTTP方式下载数据库文件。

例如,IIS网站的Web目录位于“D:\wwwroot”下,在该Web目录下的“DATA”文件夹中存放着“1rtj0ma27xi.mdb”,现在笔者将该数据库文件转移到Web目录以外的“D:\CPCW”文件夹下。然后修改数据库连接文件,将

  DBPath=Server.MapPath("./data/1rtj0ma27xi.mdb")

  修改为

  DBPath=Server.MapPath("../cpcw/1rtj0ma27xi.mdb")

这样Access数据库文件就安全多了。虽然数据库文件没有存放在Web目录中,但并不影响ASP程序访问数据库。

不足之处:此方法不适合于租用Web空间的用户使用,因为将Access数据库文件移至Web目录之外,一般需要很大的权限。

以上方法,在不同程度上增强了Access数据库文件的安全性,但大家不能将它们当成“仙丹妙药”,毕竟网络环境是复杂的,黑客的破坏手段也在不断增强,大家可以根据自己的需要,选择其中的多种方法配合使用,效果才理想,Access数据库文件才会更安全。

Ads loading...
相关阅读
( 2018-6-21 17:40:27 )批量删除access字段里面fld.Properties.Delete
( 2018-6-21 17:35:47 )ASP操作access或sqlserver数据库的函数库
( 2018-5-29 11:27:36 )asp采用access数据库搜索信息时因为日文片假名问题提示“Microsoft JET Database Engine 错误80040e14”的解决方法
( 2018-5-14 10:48:03 )[转载]中国行政区划数据(省市区街道)
( 2018-4-16 10:27:32 )asp中Request.ServerVariables能获取的信息整理总结
( 2016-8-22 8:56:32 )ASP连接各种数据库的方法
( 2016-8-2 21:57:20 )关于SQL2008 “不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了‘阻止保存要求重新创建表的更改’” 解决方案
( 2016-6-16 11:49:35 )access数据库做的网站出现.ldb不能删除超过2KB之后就会网站访问不了数据库,提示数据库不存在
共有0条关于《从数据库管理下手提升网站安全》的评论
发表评论
正在加载评论……
返回顶部发表评论
呢 称:
表 情:
内 容:
评论内容:不能超过 400 字,需审核,请自觉遵守互联网相关政策法规。
验证码: 验证码 
深山工作室网友评论声明,请自觉遵守互联网相关政策法规。

您发布的评论即表示同意遵守以下条款:
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家、社会、集体和公民的合法权益;
二、不得发布国家法律、法规明令禁止的内容;互相尊重,对自己在本站的言论和行为负责;
三、本站对您所发布内容拥有处置权。

Ads loading...
更多信息>>栏目类别选择
rss学习
个人空间
网站设计
网站公告
下载
photoshop学习
ASP学习
DIV+CSS学习
SEO搜索引擎忧化
java学习
HTML学习
网站信息
网站类信息
更多>>同类信息
批量删除access字段里面fld.Properties.Delete
ASP操作access或sqlserver数据库的函数库
asp中求两个数的百分比(利用百分比函数FormatPercent就可以自带%的符号)
asp利用sql操作数据表、数据库的一些方法
rs操作数据表记录集对象的方法
[转载]中国行政区划数据(省市区街道)
ASP版通过身份证信息获取对应的生日性别年龄
ASP网站打开特别卡 提示:msxml3.dll 错误 '80072ee2' /LM/W3SVC/670931603/Root/global.asa解决办法
Ads loading...
更多>>最新添加文章
批量删除access字段里面fld.Properties.Delete
ASP操作access或sqlserver数据库的函数库
asp采用access数据库搜索信息时因为日文片假名问题提示“Microsoft JET Database Engine 错误80040e14”的解决方法
asp中求两个数的百分比(利用百分比函数FormatPercent就可以自带%的符号)
asp利用sql操作数据表、数据库的一些方法
rs操作数据表记录集对象的方法
asp利用dateadd获得上个月、本月、下个月的第一天和最后一天
asp随机显示字符长度与类型(可随机显示数字、小写字母、大写字母,可以做为随机密码使用)
  • 业务 QQ:565449214
  • 手机:139 6134 7334
更多>>随机抽取信息
一个运行HTML文件的代码
sql语句中怎么按照in语句里的id原有的顺序进行排序输出,可以做成浏览记录、查看、观看记录
在图片未知尺寸情况下,利用CSS把图片垂直居中于div中心
DIV+CSS实现内容垂直居中的一个例子
关于SQL2008 “不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了‘阻止保存要求重新创建表的更改’” 解决方案
html表单里面的label详细
CSS中的单位一览 包括宽度尺寸单位 颜色单位 角度单位
httpd.ini伪静态网站分享到微信好友微信朋友圈链接打不开报404错误的解决办法
Ads loading...