[卡国17天传说3]ASP会员管理第三章资料库设计及连线设定

作者: 分类: 人像知名 发布于:2020-06-09 751次浏览 44条评论


第三章 资料库栏位设计及连线设定
一、资料库规划与栏位设定
一般的会员资料会包含帐号、密码、姓名、性别、电话、手机、地址、备注
这个範例要有上传照片的功能,所以我们多加一个照片路径的栏位。
在ACCESS资料库里可以设定自动编号的功能当作是每笔资料的唯一值,
但是笔者还是习惯再多增加一个ID的栏位作为唯一值,一来用自己产生的唯一值会比较好管理,
再来是往后如果要迁移资料库到MSSQL或MYSQL会比较方便。
因此这个範例的资料库规划如下
AccessIdAccess的自动编号id
ID我们自订义的唯一值
UserId帐号
Pass密码
UserName姓名
PicPath照片路径
Sex性别
Tel电话
Mobile手机
City县市
District区域
Address地址
Memo备注
这边会发现多了City跟District 这2个栏位
笔者习惯将地址的县市、区域跟地址分开来储放
好处是往后如果要用县市或区域来查询的话会比较简单
栏位设定如下图
[卡国17天传说3]ASP会员管理第三章资料库设计及连线设定
并且存档为SiteData.mdb,放置在WebData底下。
二、连线设定档
资料库建立完成后,下一步是设定与资料的连线
在DW里新增一个档案const.asp用来定义一些网站参数。
dbPath资料库路径
dbPass资料库密码
程式码如下
<%
'===================系统参数============================
Dim dbPath,dbPass
dbPath = “WebData\SiteData.mdb”
dbPass = “”
%>
取名为const.asp放在funs目录底下
有人会习惯把设定的副档名取为inc,但副档名为inc会有被下载的风险
所以把副档名取成asp
接着新增一个档案,用来连接资料库
程式码如下
<%
'================资料库建立连线=========================
dim conn,connStr
set conn=server.createobject
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & server.mappath & ";" & _
"Jet OLEDB:Database Password="&dbPass&""
conn.Open connStr
%>
取名为conn.asp放在funs目录底下。
接着我们来测试连线是否正常
建立一个新档案,取名为test.asp放在网站根目录,并且把刚才建立的2个档案用include包在里面
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>






资料库连线测试




用浏览器执行后没有出现错误,表示连线设定成功。
接着我们插入一笔资料试试看
在test.asp的body标籤上方插入底下程式码
<%
'==================资料库测试数据=============================
ID = "123456789"
UserId = "CK101"
Pass = "17"
UserName = ""
Sex = "男"
Tel = "06-1234567"
Mobile = "0917888888"
SQL = "INSERT INTO UserData" & _
" " & _
" VALUES" & _
" "
conn.execute
response.Write
%>
用浏览器执行后,出现新增成功,表示资料已经新增到资料库了。
赶紧打开资料库看一下
[卡国17天传说3]ASP会员管理第三章资料库设计及连线设定
到这个步骤似乎我们已经完成了资料库的设定了,但其实并不然,还有一个最重要的问题还没解决,就是安全性的问题。
三、加强Access资料库的安全性
在浏览器打上http://localhost/WebData/SiteData.mdb
[卡国17天传说3]ASP会员管理第三章资料库设计及连线设定

直接就把资料库给下载下来了。这可真是个要命的安全性问题。
其实早期的论坛或留言板套件也有这样子的问题,如果知道预设的资料库路径的话,资料库很轻易的就会被下载下来。
为了修正这个问题,我们需要在资料库档案上动点手脚。
1.将资料库名为#SiteData#.asp副档名改为.asp并且在前后加上#。
副档名改成asp是因为IIS会将asp的副档名视为程式码并在主机上执行完成后再将结果送到User端,但因为它的本质是资料库而不是程式码,所以就无法下载。
2.接着是加上了#,这个在IE 浏览器上是被视为定位的符号,会将#后面的文字视为定位的id而忽略它。
改完的档案名称应该是#SiteData#.asp
[卡国17天传说3]ASP会员管理第三章资料库设计及连线设定
3.设定资料库连线密码。Access不像MSSQL可以设定使用者和密码来判断存取的权限,但它可以设定连线密码,这也算是最基本的验证了。至少当你的资料库不小心外流的话,没有密码也不能看到里面的内容。
开启ACCESS程式,点击要开启的资料库,在开启的地方选择「独佔式开启」。
功能表选择工具=>安全性=>设定资料库密码。
[卡国17天传说3]ASP会员管理第三章资料库设计及连线设定
[卡国17天传说3]ASP会员管理第三章资料库设计及连线设定
设完后,我们要回来改一下连线设定档。把刚刚设定的密码以及档案名称做的变更填到const.asp。
dbPath = "WebData\#SiteData#.asp"
dbPass = "123456"
再测试一下连线就大功告成了!

<<上一篇: