ASP+Access数据库如何防止被下载,如何设置更安全?

ASP+Access数据库如何防止被下载,如何设置更安全?,第1张

现在大部分网站都使用asp+access构建,这样的话通过下载access数据库简单就可以对网站进行破坏!

而很多的网站都不太重视这些,比如数据库文件名是data.mdb等而又有一部分人认为把数据库的扩展名改成.asp就万事大吉了,

其实不然!大家可以做个试验 ,在自己的机器上把mdb改成asa或者asp 然后用任何一种下载工具下载,下载之后再把文件名改成.mdb 文件照样可以用!道理很简单!iis只执行<% %>内的内容,而mdb文件单纯的修改扩展名只会让iis错误的以txt方式显示出来

你可以看见,如果在浏览器执行***.asp(注意:这个是mdb数据库)就会看见一大堆乱码,和你用记事本打开看见的一样!

防止数据库被下载的方法就有4种

1:在数据库新建一个表,表名为<%safe就可以了 ,这样iis在解析的时候会出现500错误,数据库也就下载不了了!

2:在你的数据库文件名后门加上# (不是扩展名,比如name#.mdb)这样iis就以为你是在请求该目录中默认的文件名,比如index.asp,如果iis找不到就会发出403禁止浏览目录的错误警告!

3:在iis中是把数据库所在的目录设为不可读,这样就可以防止被下载!请放心,这样做不会影响asp程序的正常使用!!

4:直接使用数据源 (ODBC)这样数据库就可以不用在web目录里面,从而彻底防止被下载,但是这样做你必须拥有服务器的管理员权限,哈哈,大部分虚拟主机用户是不可能用数据源 (ODBC)的!

把数据库文件名扩展名改为 ASP 或者 ASA

或者把数据库放在WEB目录以外的目录。

这样即使对方知道数据库的名字和位置也下载不了。除非人家已经入侵到你的系统里面了。

假设你的空间物理路径为d:\web\abc\root,你的站点根目录放在abc目录下,名为wwwroot,数据库目录为abc目录下的databases文件夹,设置方法如下:

首先,我们打开conn.asp,找到DBPath = "/KS_Data/KesionCMS4.mdb" 'ACCESS数据库的文件名,请使用相对于网站根目录的的绝对路径

将它修改为DBPath = "d:/web/abc/root/databases/KS_Data/KesionCMS4.mdb" 'ACCESS数据库的文件名,请使用相对于网站根目录的的绝对路径

然后找到ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0Data Source=" &Server.MapPath(DBPath)这一句,

将它改为ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0Data Source=" &DBPath

如果需要采集,采用同样方法修改。

如果有以下文件,也需要修改

将/admin/KS.Database.asp文件中的“Server.MapPath(DBPath)”、“Server.MapPath(CollectDBPath)”、“Server.MapPath(strCurDir)”全部搜索出来并且分别替换为“DBPath”、“CollectDBPath”、“strCurDir”。这是后台"备份/压缩数据库"页面的数据库连接。

修改后保存文件,打开网站和后台试试看吧!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10035404.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存