ASP与数据库运用:密码验证
下面 我们就来看看实现密码验证的ASP需要些什么吧
一 ASP运行环境
Windows / 单机平台 PWS (Personal Web Server) windows NT / 服务器平台 IIS(Internet Information Server )Service Pack 及其以上版本)
NT workstation 工作站平台 PWS(Personal Web Server )NT workstation版及最新版的IE浏览器
二 用于制作ASP的软件
Windows FrontPage / Dreamweaver 如果这些软件你都没有 那你就用windows 中的Notepad 当一次 代码编写狂 吧 不过ASP中很多代码仍是需要我们手工编写大量代码的 用专用的网页制作软件只不过是偷一丁点懒而已
三 用哪一种数据库作为储存用户资料(用户名及密码)的数据库呢?
SQL Server Microsoft Access / 等都可以 本人建议你使用Access 因为你可能对它比较熟悉 一旦有问题 解决起来比较容易 更深的原因是 Microsoft Access相对于其它非服务器等级的数据库执行的效率要高得多
好了 废话说了这么多 可能你早已经不耐烦了 不过 这对于一些ASP的初学者可能还是有帮助的 对于这部分读者 你们可能还得要看看关于ASP方面的书籍或网站来增加你对ASP基本语法的了解
让我们一步一步来做这个密码验证吧 我采用的是Windows + PWS 平台 IE 浏览器 网页制作软件 FrontPage Go!
一 创建用户密码数据库
先用Access建立一个用户密码数据库 建立字段名id和psd 并添加值 如:id的值我设为 admin psd的值为 当然 你还可以继续添加用户id及psd 完成后保存为 psd mdb
二 编写psd asp(用户登录界面页 完成验证的功臣就是它了)及log asp(成功登录后显示的页面) 在编写之前 我们来分析一下常见的用户登录界面 比如说你想收取基于web page方式免费邮件箱的登录界面 管理用户登录的文件名常常为log * 开始登录时是这个文件 登录完成后浏览器的地址栏中还是显示的这个文件名 这是怎么回事儿呢?用ASP的方法来讲 原来 用户登录的文件被包含在登录完成后的文件中 以我现在要讲的这个例子来说 psd asp就是被包含在log asp中了 用户登录时看到的文件名将是 log asp 而log asp要求系统先执行psd asp 通过验证之后才看到真正的log asp网页 对了!实际上密码验证的关键在psd asp 在你读完本文后 你会深深体会这一点 既然psd asp文件是关键 那我们就先来看看psd asp是怎么写的
运行FrontPage新建一个文件 并保存为 psd asp(在FrontPage 的保存类型中选取 Active Server Pages ) 在FrontPage 左下角选取 HTML 先在它的顶部进行ASP源代码的编写 内容如下(以下源代码中凡出现 …… 的均为注释)
<%
function checkPwd(id psd) 检测用户id及密码
dim conn param rs
set conn=server createobject( adodb connection ) 创建数据库连接对象conn
param= driver={microsoft access driver (* mdb)} 指定数据库驱动程序 不可省略写为 access diver(* mdb)
conn open param & ;dbq= & server mappath( psd mdb ) 用指定的数据库驱动程序打开数据库 并指定数据路径
sql= select*from psd where id= & id & and psd= & psd & 定义sql从数据库中读取id及psd的值 本行中的第一个psd是指数据库名 以后的psd是指psd mdb中的psd字段
set rs=conn execute(sql) 打开数据库
if rs eof then
checkpwd=false
else
checkpwd=true
end if
end function 以上几句判断是否已经读完数据库中的记录 如果没有 就向后读 如果已经完成 则验证用户名及密码 如果验证通过 则为true 反之为flase
%>
<%
if isEmpty(session( passed )) then session( passed )=false 判断用户输入信息
id=request( id ) 获取用户id(用户名)
psd=request( psd ) 获取用户psd(密码)
if id= or psd= then
response write 请输入您的登录名及密码 如果用户没有输入完整的信息 返回出错信息
elseif not checkpwd(id psd) then
response write 用户名或密码错误!<br>请检查你的用户名及密码然后再试一次! 如果用户已经输入完整信息 但输入错误也返回出错信息
else session( passed )=true
end if
if not session( passed ) then%> 用户输入的信息完全正确并验证通过 以下开始编写代码 做一个用户登录界面
<>
<head>
<meta equiv= Content Type content= text/; charset=gb >
<title>请您输入您的用户名及密码!</title>
</head>
<body bgcolor= # text= #FFFFFF >
<p align= center >
<p align= center > </p>
<p align= center ><b><font face= 黑体 size= >用户登录首页</font></b></p>
<p align= center > </p>
<form method= POST action= <%=request serverVariables( psd mdb )%> >
<table border= width= % cellspacing= cellpadding= >
<tr>
<td width= % align= right >用户名:</td>
<td width= % ><input type= text name= id size= value= <%=id%> ></td>
</tr>
<tr>
<td width= % align= right > 密 码 </td>
<td width= % ><input type= password name= psd size= value= <%=psd%> ></td>
</tr>
<tr>
<td width= % > </td>
<td width= % > </td>
</tr>
</table>
<p align= center ><input type= submit value= 提交 name= B ><input type= reset value= 清除 name= B ></p>
</form>
<%response end
end if %> 验证过程结束 进入加密网页
</body>
</>
完成了psd asp的编写 可能你早已经迫不及待地想知道log asp怎么编写了吧 让我们继续吧!
Log asp的内容
<! #include file= psd asp > 在log asp源代码中的顶部输入这句 作用就是在系统执行log asp之前先执行psd asp啦!
<>
<head>
<title>用户验证通过 您已经成功登录系统</title>
</head>
<body><center><p><p><p><p>用户验证通过 您已经成功登录!<br>
现在你可以进行你想要的操作了 如果你有什么问题 请来信Email<a href= mailto:kanwo@ net?subject=问你几个关于密码验证的问题 >kanwo@ net</a></center>
</body>
</>
lishixinzhi/Article/program/SQL/201311/16424