浅谈下载access数据库的攻与防
浅谈下载access数据库的攻与防
http://blog.csdn.net/cncco/archive/2009/06/06/4247474.aspx
一个网站的安全成功与否很大程序上取决于你的数据库是否安全,如果你的数据库被下载的话,哪么基本上你的这个网站就是别人的了。网上有很多关于这方面信息,我游览了一些网页结合我自己的一些体会,简单说说我的看法。
谈数据库的安全首先要看你是虚拟主机的用户还是自己拥有独立的服务器,如果是虚拟主机用户哪么在程序上来防治下载要多想点办法,如果你的服务器呢,可能在权限设置上设置更有效方便。
首先推荐几篇相关的文章。
防止ACCESS数据库被下载的9种方法
实例讲解Web数据库安全防护
突破MDB数据库的下载限制
突破数据库防下载的简单几招
如何突破数据库Loop防下载实例
这几篇文章总和起来差不多可以了解一个防治access数据库防治下载的基本知识了。
1,几个简单的防治下载和解决办法。把数据库名设置为#data.mdb,只要把#替换为%23就可以解决;把用户名设置为%55data.mdb,把%55替换为%25即可;也有牛逼的把数据库设置成2wegodb%^&(bfjk&^%980995646563&^%$sdfda.mdb,这个难弄些,如果只是知道路径可能难下载,那篇文章的作者是备份重命名的方法下载下来的。
2,把数据库的扩展名修改为asp。如果你仅仅是把mdb数据库扩展名修改为asp,那是没有丝毫作用的,照样被下载。如果我在数据库中写入没有闭合的asp代码,因为asp程序是在服务器执行的,那么asp程序就会出错,数据库自然就无法下载了。这个最基本的方法就是在数据中写入二进制的<%,这个方法一般是在数据库中建立一个表notdownload,添加一个notdown字段,写入<%,哪么这个最基本防御方法就出来了。摘抄子网上的代码:
view plaincopy to clipboardprint?
<%
db="access.mdb" '你自己数据库的地址
set conn=server.createobject("Adodb.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db)
conn.open connstr
conn.execute("create table notdownload(notdown oleobject)") '添加notdownload表
set rs=server.createobject("adodb.recordset") &nb
相关文档:
ADO(ActiveX Data
Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,即使你对OLE
DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API、DAO、RDO都要容易使用,并不失灵活性。
ADO(ActiveX Data Object)是Microsoft数据库应用
程序
......
How To ... Access the Z-Depth channel
delete $VoxelBox*
rbmp
= render outputsize:[32,32] channels:#(#zdepth) vfb:
off
z_d
= getchannelasmask rbmp #zdepth
progressstart "Rendering Voxels..."
for
y = 1 to
rbmp.height do
(
progressupdate (100.0 * y / rbmp.height)
pixel_line = ......
自定义数据库链接类(Access)是链接Access数据库时使用的类。
补足:Application.StartupPath.ToString是指定生成.EXE文件的路径,把数据库和执行文件存放到一起时,不管安装后在什么路径都无需特定指定。
Imports System.Data.OleDb
#Region "全局变量"
Private mTimeo ......
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.spri ......