深覆盖可以不矫正吗:下载源码建站的安全问题

来源:百度文库 编辑:神马品牌网 时间:2024/03/29 01:17:54
1、网上很多人下载同样的源码建站;
2、采用虚拟主机空间,权限不高;
3、同样的代码,如conn.asp中数据库路径一目了然。
如何防止数据库以及与数据库有关的conn.asp等文件直接被下载?

防止数据库暴库(被下载)的方法:
1,文件名中包含一些符号,试图通过Unicode与ASCII码的转换防止下载:这个方法我试过,完全没有效果。只要用flashget的“新建下载任务”,输入地址和名称,就可以下载了,用各种符号都没用。
2,将数据库名后缀名直接改为asp,试图通过asp解析防止下载:也没有用,直接在IE打开就是乱码,直接用flashget下载然后改名为mdb一样可以打开。
3,比较有用的方法是,新建一个文本文档abc.txt,随便输入<%asdfadf%>,然后用copy access.mdb/b+abc.txt/a access2.mdb,即是将文本abc.txt的内容追加到access.mdb后面,生成access2.mdb,然后我们再改名为*.asp:这个方法很有用,如果试图下载将提示<%asdfasfd%>出错,无法下载。但是一旦在数据库中添加新的表,就不行了,代码被冲掉。
4,在数据库中新建一个表,字段名或者内容或者表名包含<%%>,以防止下载:没有用!用文本编辑工具打开,可以发现<%将变成< %,就是中间多了一个字符,就不被ASP解析了。
5,我研究出来的方法:新建一个表,里面的只有一个字段*,类型OLE对象,不要设置主键。然后在硬盘新建文本文档abc.txt,内容<%(随便写,只要不能被解析)%> 然后access中,在菜单栏选择:文件>获取外部数据>导入,选择那一个abc.txt,接下来在出现的选项页选择分隔符>制表符>现有表中>你新建的那个表,确定,就可以了!
现在,你用notepad打开数据库,在乱码中搜索<%或者%>,如果找到了,就成功了。
6,如何防止暴库:一般是通过下载conn.asp来实现的,因此这个文件中如果没有包含<%%>,他的内容将直接被显示!你的数据库地址也将被暴露!因此,应该将conn.asp中的内容用<%%〉包围。同时,即使这样,单独运行conn.asp的出错提示仍然会暴露数据库地址,最好把conn.asp分解为两个asp文件,一个进行dim conn之类的定义,以及定义数据库地址;另一个进行连接。这样,不论单独运行哪一个,都不会暴露数据库地址!
7,更好的方法是用数据源,不过如果不是自己的服务器,就没什么用处了。
8,如果你设计了后台上传功能,那么一定要注意上传东西一定要验证用户名,不要留入口,不能允许上传asp的东西!否则,如果有谁上传了一个后门,什么措施都没用了!我就曾遇到过,幸亏我设置只能上传jpg,因此对方上传的文件不起作用,反而把代码暴露了。
这些都是我的个人经验,转载请注明:黑夜王子nightprince

如果空间是支持asp的话,asp文件是被空间的服务器运行了的,查看源码是asp生成html代码,是看不到数据库路径的