破宝

我是一块破破烂烂的宝贝石头。
随笔 - 85, 评论 - 1279, 引用 - 54

导航

工具

关于

自选精华版 RECOMMENDATIONS
留言板 GUESTBOOK

本人 blog 文章、图片及其他资源等,除另有声明外,均遵循以下原则向全球(当然包括朝鲜、古巴、利比亚等国)共享:

1。欢迎转载、复制、传播、引用,但转载、复制(包括但不仅限于作为参考资料复制到本地)、传播、引用同时必须在显著位置注明作者(破宝/percyboy)和文章原始 URL 地址等信息。但商业转载、复制、传播(尤指用于图书、光盘等媒体的部分或全部),须事先征得本人的许可。

2。文章以“现状”提供,不为由于使用本站资源而造成的任何损失而负责,仅提供力所能及的咨询和参考意见。

3。关于修改:允许您将本 blog 中的资源作为参考资料复制时的一定修改,但仍须保留作者和出处信息;其他情况下的修改(包括修改后再发布),须和本人确认许可。
 

标签

每月存档

广告



访客

 

讹传确实很害人!

大家学习 ASP 一开始就知道要保护 Access 数据库被直接下载,那时流行的做法是:将 Access 数据库比如 data.mdb 改名为 data.asp。这是一个很严重的“讹传”。

因为这种方案并不管用:比如 http://www.abc.com/data.asp ,我们直接在 IE 中敲地址得到是一个空白页面。如果查看此页的“源代码”,然后保存为 data.mdb,我们发现 Access 并不识别它。这就是这一讹传流传很久的表面现象。

其实,简单的写一行 HTML,类似下面的:

<A href="http://www.abc.com/data.asp">点这里下载</A>

然后保存为 test.html 到你的桌面,然后打开它,右击该链接,选择“另存为...”,注意存盘时把扩展名改为 mdb,这时你得到的这个 data.mdb 就可以成功的在 Access 里面打开了。

现在,随着大家认识的提高,持有上面这样“天真”想法的人已经不多了。

今天,在搜索东西偶然看到一篇文章,因为其中引用了我的一篇旧文,所以发现了它:

防止ACCESS数据库被下载的9种方法 [整理版]

(截至目前,这篇文章已经被浏览了150多次,引用高达70多次。另外google搜索的结果表明:它已经被转载至很多地方。)

在这篇文章中有一条方案是无效的,文章是这么写的:

3.数据库名前加“#”
  只需要把数据库文件前名加上“#”,然后修改数据库连接文件(如conn.asp)中的数据库地址。原理是下载的时候只能识别“#”号前名的部分,对于后面的自动去掉,比如你要下载:http://www.pcdigest.com/date/# 123.mdb (假设存在的话)。无论是 IE 还是 FlashGet 等下到的都是http://www.test.com/date/index.htm (或index.asp、default.jsp等你在 IIS 设置的首页文档)  
  另外在数据库文件名中保留一些空格也起到类似作用,由于HTTP协议对地址解析的特殊性,空格会被编码为“%20”,如 http://www.test.com/date/123 456.mdb,下载的时 http://www.test.com/date/123%20456.mdb。而我们的目录就根本没有 123%20456.mdb 这个文件,所以下载也是无效的。这样的修改后,即使你暴露了数据库地址,一般情况下别人也是无法下载! 

“#”号方案的不可行性:其实在较早的一篇博客堂文章中已经提到这个问题了。将“#”号替换为“%23”就可以突破这个“关卡”了,比如: http://www.abc.com/#data.mdb,就直接在浏览器中输入: http://www.abc.com/%23data.mdb 就可以下载了!

空格方案就不必多说了,我在本机的试验证明,在浏览器地址栏中直接写 http://localhost/test data.mdb 没有任何问题很顺利就下载到了这个 test data.mdb,不知作者是什么解决方案。

希望这次“讹传”能够就此很快结束!不要给更多的人带来坏影响!

相关文章

Loading...

打印 | 张贴于 2004-10-26 20:12:00 | Tag:暂无标签

留言反馈

#uqtljzgr - Google Search 编辑
uqtljzgr - Google Search
2008-10-05 05:36:03 | [匿名用户:]
#回复: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
很好给了我很大的提示
2007-09-30 19:50:00 | [匿名用户:lihu]
#回复: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
现在的互联网仍然是那么不安全啊,程序员要多喝墨水啊......
2006-12-26 10:44:00 | [匿名用户:ONION]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
防下载有很多种方法,我给大家公布一些网上没有公布的吧,将数据库改后辍为ASP和ASA之类的都是那些鸟人不负责的说法,不但不安全,反而更危险,建议大家不要用,将数据库后辍后名为.TD, .TMP , .SYS 之类的就可以防下载了,如果主机支持.NET的话,也可以建立一个APP_DATA的目录,里面存放数据库,不管你的网站是不是.NET的,当你去访问的时候就会被拒绝的,我的QQ147399120,大家加我讨论
2006-10-25 15:00:00 | [匿名用户:孤行一鬼]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
总感觉程序员需要一些科普和扫盲……
2006-02-23 11:36:00 | [匿名用户:Ivony]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
完蛋了~居然是这样的~经过测试居然真的可以~包括wayne_deng说的也是可以的~
2006-02-14 19:55:00 | [匿名用户:richardwei]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
问题是如何知道数据库的地址呢?
2005-12-18 16:32:00 | [匿名用户:guest]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
道高一尺魔高一丈啊,现在动网的那种方法似乎比较可行,就是在数据库里加入一个表,(以前看过动网数据库里有个notdown表,不知是咋用的?)向里面写入一段二进制代码,让ASP.DLL把这个表里的脚本当成真正的ASP代码来执行,于是当你试图下载的时候将触发ASP.DLL解解析出错!这是人为构造的一种语法错误,可以起到保护数据库的作用!
2005-09-13 09:21:00 | [匿名用户:逝水流年]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
后辍名为ASP的数据库我用那个第一个方法保存为test.html还是不能下在怎么回事啊谁知道啊
2005-07-07 20:50:00 | [匿名用户:异化]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
保险的方法应该是将数据库放到专门设置了NTFS权限的安全目录。而不是和www放到一起。
我很想知道这个是怎么回事?
2005-04-13 15:31:00 | [匿名用户:ZSQ]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
受益非浅!谢
2005-04-12 09:35:00 | [匿名用户:javy]
#[原创].NET中防止Access数据库下载 编辑
Ping Back来自:blog.csdn.net
2005-04-12 01:28:00 | [匿名用户:X-Forever]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
我一般都用asa,现在不做asp了,看了本文后长见识
2004-12-21 10:29:00 | [匿名用户:随风奔跑]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
在CSDN看到此贴,好
2004-11-07 10:42:00 | [匿名用户:sonygod]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
强烈同意楼主的 号召!
2004-11-02 20:33:00 | [匿名用户:beautyispower]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
哈哈,原来是这样的呀,看来偶落后了呀
2004-10-28 21:22:00 | [匿名用户: 蛙蛙王子]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
很少写ASP程序,,,不过不是大家都用.ASA做后缀吗?第一次听说有人用.ASP的。。。。。
2004-10-28 12:20:00 | [匿名用户:TommyWOo]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
让数据库文件只能localhost访问就好了,当然你需要有主机权限
2004-10-28 09:32:00 | [匿名用户:guys]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
ASP.NET就好多了,数据库改成.config或者dll深的地文件.
或者直接就data.mdb,然后添加一个Httpmodule来过滤所有.mdb的请求。
用FlashGet其实很难探测到网站的目录结构,当然你的站点的结构要好,比如:使用良好的UserControl......

希望 破宝 大虾能好好的总结一下这方面的东西,包括ASP网站,以及ASP.NeT.
2004-10-27 17:51:00 | [匿名用户:caca]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
to carfield:

是吗?我这里没有啊?
2004-10-27 15:36:00 | [匿名用户:破宝]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
首页的版面被破坏了
2004-10-27 15:22:00 | [匿名用户:carfield]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
这个早已不是什么问题了。。。
2004-10-27 12:47:00 | [匿名用户:uestc95]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
我一向都是在IIS里改的.
2004-10-27 12:13:00 | [匿名用户:Lostinet]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
老問題老是提來提去.我記得saucer就寫過這樣的文章
2004-10-27 10:37:00 | [匿名用户:bill]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
保险的方法应该是将数据库放到专门设置了NTFS权限的安全目录。而不是和www放到一起。
2004-10-27 09:56:00 | [匿名用户:ceocio]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
...介个要看你的机器nb还是人家服务器nb,还要看是你的带宽nb还是服务器的带宽nb了...
2004-10-27 09:53:00 | [匿名用户:rIPPER]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
不知道将*.mdb后缀改为*.config是否有效
2004-10-27 08:42:00 | [匿名用户:bestcomy]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
改名的那個較早就知道不行了。後面的不是很清楚,
2004-10-27 08:13:00 | [匿名用户:lichdr]
#re: 立即停止关于“防止ACCESS数据库被下载的方法”的讹传 编辑
似乎我原来也传播过类似的知识。唉。
2004-10-26 20:47:00 | [匿名用户:开心就好]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode MVC Blogger System