Access数据库安全策略之ASP式_Access数据库教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:第N次被ACCESS的关键字涮
由于需要测试数据库的连通性,测试项目使用了方便的ACCESS来作为后台数据库,但由于它太方便了,以致于半天的时间都葬送在了它隐藏的关键字上... 项目使用了NHibernate来作为数据库中间层,并使用NUnit进行单元测试。可当我配置好所有模型类及配置文件之后,测试环境竟

 这种作法是比较专业但也是很安全的也是现在比较流行的作法,但是现在许多的人只是作了一半,只是将数据名改成ASP而以,这样的话直接用FlashGet之类的下载工具一样可以将数据库下载,这种方式的正确作法有两步:   

第一步:在数据库内创建一个字段,名称随意,类型是OLE对象,内容设置为单字节型的" "<%",即(ASP代码chrB(asc("<")) & chrB(asc("%"))的运行结果)  

第二步:将数据库改名为ASP  

这样从URL上直接请求这个数据库将会提示"缺少关闭脚本分隔符",从而拒绝下载,因为这个方式比较麻烦我在网上找了一段小代码来完成OLE对象的插入工作,只要将数据库名设置好,然后放在和数据库内一目录运行一下就可以了。 

 

代码全文如下:  

<%  

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)")  

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  

set rs=nothing  

conn.close  

set conn=nothing  

%>   

这段代码运行完之后将会在数据库内生成一个nodownload表,表内字段是notdown。如果数据库内已有同名的数据表存在请将代码内的nodownload改成自己想要的数据表名即可。

分享:Access中用Jet SQL语句删除表关系
如何用jetsql的ddl语句建立表和关系? 微软的Access中包含DataDefinitionLanguage(DDL)来建立删除表以及关系,当然了,这也可以用DAO来解决。 以下就是示例: 用DDL的CreateTable建立一个表Table1,主键是自动编号字段,另一个字段是长度是10的文本字段。 CREATETABLETa

来源:模板无忧//所属分类:Access数据库教程/更新时间:2013-05-22
相关Access数据库教程