|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
下面,我们就来看看实现密码验证的ASP需要些什么吧。 一、 ASP运行环境: Windows 95/98单机平台:PWS (Personal Web Server)4.0 、windows NT 4.0/5.0服务器平台:IIS(Internet Information Server )Service Pack 3 及其以上版本) NT workstation 4.0 工作站平台:PWS(Personal Web Server )NT workstation版及最新版的IE浏览器。 二、 用于制作ASP的软件 Windows FrontPage 98/2000 、Dreamweaver 3.0 ,假如这些软件你都没有,那你就用windows 中的Notepad 当一次"代码编写狂"吧。不过ASP中很多代码仍是需要我们手工编写大量代码的,用专用的网页制作软件只不过是偷一丁点懒而已。 三、 用哪一种数据库作为储存用户资料(用户名及密码)的数据库呢? SQL Server、Microsoft Access 97/2000等都可以。本人建议你使用Access,因为你可能对它比较认识,一旦有问题,解决起来比较轻易,更深的原因是:Microsoft Access相对于其它非服务器等级的数据库执行的效率要高得多。 好了,废话说了这么多,可能你早已经不耐烦了。不过,这对于一些ASP的初学者可能还是有帮助的,对于这部分读者,你们可能还得要看看关于ASP方面的书籍或网站来增加你对ASP基本语法的了解。 让我们一步一步来做这个密码验证吧,我采用的是Windows 98 + PWS 4.0平台,IE 5.0浏览器,网页制作软件:FrontPage 2000. Go! 一、创建用户密码数据库 先用Access建立一个用户密码数据库,建立字段名id和psd,并添加值.如:id的值我设为:admin,psd的值为:www,当然,你还可以继承添加用户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%> ‘用户输入的信息完全准确并验证通过,以下开始编写html代码,做一个用户登录界面。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>请您输入您的用户名及密码!</title> </head> <body bgcolor="#000000" text="#FFFFFF"> <p align="center"> <p align="center"> </p> <p align="center"><b><font face="黑体" size="6">用户登录首页</font></b></p> <p align="center"> </p> <form method="POST" action="<%=request.serverVariables("psd.mdb")%>"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="41%" align="right">用户名:</td> <td width="59%"><input type="text" name="id" size="20" value="<%=id%>"></td> </tr> <tr> <td width="41%" align="right"> 密 码:</td> <td width="59%"><input type="password" name="psd" size="20" value="<%=psd%>"></td> </tr> <tr> <td width="41%"> </td> <td width="59%"> </td> </tr> </table> <p align="center"><input type="submit" value="提交" name="B1"><input type="reset" value="清除" name="B1"></p> </form> <%response.end end if %> ‘验证过程结束,进入加密网页。 </body> </html> 完成了psd.asp的编写,可能你早已经迫不及待地想知道log.asp怎么编写了吧。让我们继承吧! Log.asp的内容: <!--#include file="psd.asp"--> ‘在log.asp源代码中的顶部输入这句,作用就是在系统执行log.asp之前先执行psd.asp啦! <html> <head> <title>用户验证通过,您已经成功登录系统</title> </head> <body><center><p><p><p><p>用户验证通过,您已经成功登录!<br> 现在你可以进行你想要的操作了。假如你有什么问题,请来信Email<a href="mailto:kanwo@163.net?subject=问你几个关于密码验证的问题">kanwo@163.net</a></center> </body> </html> 呵呵……手写了这么多,还受得了吧。你在编写完成之后,可以移植到其它平台上,比如Windows NT。最后,将你做的这两个asp文件及psd.mdb数据库放在同一个目录下(该目录必须在PWS或IIS中有www服务),比如:c:inetpubwwwroot。然后,在确保你的PWS或IIS在运行的情况下,在你们IE浏览器的地址栏中输入http://127.0.0.1/log.asp,看看,会有什么!(假如你在登录过程中听到你的硬盘在响,可别吓着了哟!) 返回类别: 教程 上一教程: 使用ADO批量更新记录(源代码) 下一教程: ASP实现要害词获取(各搜索引擎,GB2312及UTF-8) 您可以阅读与"ASP与数据库运用:密码验证"相关的教程: · ASP讲座之八:ASP与数据库 · ASP程序密码验证问题 (MS,缺陷) · ASP与数据库应用(简朴入门) · ASP进阶教程Ⅶ:留言簿设置密码验证 · 谈谈如何在不支持数据库的ASP主页上运用ADO |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |