<% db="d.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)") '提示表及字段创建成功 response.write "表、字段创建成功!" set rs=server.createobject("adodb.recordset") sql="select * from notdownload" rs.open sql,conn,1,3 rs.addnew rs("notdown").appendchunk(chrB(asc("<")) & chrB(asc("%"))) rs.update rs.close '提示内容添加成功 response.write "内容添加完成!" set rs=nothing conn.close set conn=nothing %>
|
这段代码运行完之后将会在数据库内生成一个nodownload表,表内字段是notdown。飞飞Asp技术.乐园如果数据库内已有同名的数据表存在请将代码内的nodownload改成自己想要的数据表名即可。
AcOol PS:还是有朋友说写的不够详细,我都没话说了,我给你写详细点:
1、打开access数据库 2、使用设计创建表,添加字段notdown,类型使用“OLE对象” 3、保存为nodownload,不创建主键。 4、打开记事本,编辑文件nodownload.txt,内容为“<%”。 5、打开nodownload表,点击右键-->插入对象,选择从文件插入,定位到nodownload.txt,确认。 以上都需要在数据库创建一个表,大家可以把这个表留着不管,也可以直接删除,同样可以起到反下载的功能,即:执行后再删除。关于这一点,大家可以试试。
|
这个方法处理过的MDB无法下载,但是据说在数据库中插入%>与最小木马,备份数据库为asp文件时,如果插入位置靠前,还是可以作为webshell服务器端利用的,不过这个我没测试过。
|
4、加密数据库 首先在选取"工具->安全->加密/解密数据库,选取数据库(如:employer.mdb),然后接确定,接着会出现"数据库加密后另存为"的窗口,存为:employer1.mdb。接着employer.mdb就会被编码,然后存为employer1.mdb..要注意的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。 接下来我们为数据库加密,首先以打开经过编码了的 employer1.mdb,在打开时,选择"独占"方式。然后选取功能表的"工具->安全->设置数据库密码", 接着输入密码即可。这样即使他人得到了employer1.mdb文件,没有密码他是无法看到 employer1.mdb的。飞飞A,sp技术乐园 加密后要修改数据库连接页, 如: conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=数据库密码;dbq=数据库路径" 这样修改后,数据库即使被人下载了,别人也无法打开(前提是你的数据库连接页中的密码没有被泄露) 。 但值得注意的是,由于Access数据库的加密机制比较简单,即使设置了密码,解密也很容易。该数据库系统通过将用户输入的密码与某一固定密钥进行“异或”来形成一个加密串,并将其存储在*.mdb文件从地址“&H42”开始的区域内。所以一个好的程序员可以轻松制作一个几十行的小程序就可以轻松地获得任何Access数据库的密码。因此,只要数据库被下载,其信息安全依然是个未知数。
AcOol PS:MS对Access库文件的加密功能跟没有一样,随手找个工具就拿到口令了,如果有兴趣手动都搞定他,所以千万别以为你给库加个口令就万事大吉了哦!
|
5、数据库放在WEB目录外或将数据库连接文件放到其他虚拟目录下 如你的WEB目录是e:\webroot,可以把数据库放到e:\data这个文件夹里,在e:\webroot里的数据库连接页中修改数据库连接地址为:"../data/数据库名" 的形式,这样数据库可以正常调用,但是无法下载的,因为它不在WEB目录里!这个方法一般也不适合购买虚拟空间的用户。
|