asp

位置:IT落伍者 >> asp >> 浏览文章

ASP与数据库运用:密码验证


发布日期:2019年09月23日
 
ASP与数据库运用:密码验证
Microsoft 的大作ASP(Active Server Pages)以其易学易用扩充性好功能多而强等优点正掀起一场新的web编程革命(从严格意义上讲编写asp并不是编程)它以令人吃惊的发展和普及速度大有取代由perl等语言编写的CGI(Common Gateway Interface通用网关接口) 的势头基于web page方式的web管理模式已经成为潮流看看现在的网管们有谁不会asp的编写呢?要管理?那你可能就要用到我这里要说的密码验证简单地说密码验证就是首先判断你是不是有登录权限如果有就继续否则哼哼……什么?你到现在还不知道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 ServerMicrosoft Access /等都可以本人建议你使用Access因为你可能对它比较熟悉一旦有问题解决起来比较容易更深的原因是Microsoft Access相对于其它非服务器等级的数据库执行的效率要高得多

好了废话说了这么多可能你早已经不耐烦了不过这对于一些ASP的初学者可能还是有帮助的对于这部分读者你们可能还得要看看关于ASP方面的书籍或网站来增加你对ASP基本语法的了解

让我们一步一步来做这个密码验证吧我采用的是Windows + PWS 平台IE 浏览器网页制作软件FrontPage Go!

创建用户密码数据库

先用Access建立一个用户密码数据库建立字段名id和psd并添加值如:id的值我设为adminpsd的值为www当然你还可以继续添加用户id及psd完成后保存为psdmdb

编写psdasp(用户登录界面页完成验证的功臣就是它了)及logasp(成功登录后显示的页面)在编写之前我们来分析一下常见的用户登录界面比如说你想收取基于web page方式免费邮件箱的登录界面管理用户登录的文件名常常为log*开始登录时是这个文件登录完成后浏览器的地址栏中还是显示的这个文件名这是怎么回事儿呢?用ASP的方法来讲原来用户登录的文件被包含在登录完成后的文件中以我现在要讲的这个例子来说psdasp就是被包含在logasp中了用户登录时看到的文件名将是logasp而logasp要求系统先执行psdasp通过验证之后才看到真正的logasp网页对了!实际上密码验证的关键在psdasp在你读完本文后你会深深体会这一点既然psdasp文件是关键那我们就先来看看psdasp是怎么写的

运行FrontPage新建一个文件并保存为psdasp(在FrontPage 的保存类型中选取Active Server Pages)在FrontPage 左下角选取HTML先在它的顶部进行ASP源代码的编写内容如下(以下源代码中凡出现……的均为注释)

<%

function checkPwd(idpsd) 检测用户id及密码

dim connparamrs

set conn=servercreateobject(adodbconnection) 创建数据库连接对象conn

param=driver={microsoft access driver (*mdb)} 指定数据库驱动程序不可省略写为access diver(*mdb)

connopen param & ;dbq= & servermappath(psdmdb) 用指定的数据库驱动程序打开数据库并指定数据路径

sql=select*from psd where id= & id & and psd= & psd & 定义sql从数据库中读取id及psd的值本行中的第一个psd是指数据库名以后的psd是指psdmdb中的psd字段

set rs=connexecute(sql) 打开数据库

if rseof 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

responsewrite请输入您的登录名及密码 如果用户没有输入完整的信息返回出错信息

elseif not checkpwd(idpsd) then

responsewrite用户名或密码错误!<br>请检查你的用户名及密码然后再试一次! 如果用户已经输入完整信息但输入错误也返回出错信息

else session(passed)=true

end if

if not session(passed) then%> 用户输入的信息完全正确并验证通过以下开始编写html代码做一个用户登录界面

<html>

<head>

<meta httpequiv=ContentType content=text/html; 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=<%=requestserverVariables(psdmdb)%>>

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

<%responseend

end if %> 验证过程结束进入加密网页

</body>

</html>

完成了psdasp的编写可能你早已经迫不及待地想知道logasp怎么编写了吧让我们继续吧!

Logasp的内容

<!#include file=psdasp> 在logasp源代码中的顶部输入这句作用就是在系统执行logasp之前先执行psdasp啦!

<html>

<head>

<title>用户验证通过您已经成功登录系统</title>

</head>

<body><center><p><p><p><p>用户验证通过您已经成功登录!<br>

现在你可以进行你想要的操作了如果你有什么问题请来信Email<a href=mailto:kanwo@net?subject=问你几个关于密码验证的问题>kanwo@net</a></center>

</body>

</html>

呵呵……手写了这么多还受得了吧你在编写完成之后可以移植到其它平台上比如Windows NT最后将你做的这两个asp文件及psdmdb数据库放在同一个目录下(该目录必须在PWS或IIS中有www服务)比如:c:\inetpub\wwwroot\然后在确保你的PWS或IIS在运行的情况下在你们IE浏览器的地址栏中输入http:///logasp看看会有什么!(如果你在登录过程中听到你的硬盘在响可别吓着了哟!)

上一篇:SQL注入天书之ASP注入漏洞全接触

下一篇:HTML页面如何象asp一样接受参数