ASP进阶教程Ⅶ:留言簿设置密码验证

作者:trancyco 来源:study.jokcn.com 时间:2008-10-13 09:02:00 



了兑现我对大家的承诺,我们现在立即就将“借助数据库和ASP程序”编写出来的,可以同时适用于IIS和PWS的安全网页看个仔细。
  先睹为快,还是让我们首先就来看看该ASP程序(password.asp)。
< %
Function CheckPassword( Name, Password )
Dim conn, param, rs
Set conn = Server.CreateObject("ADODB.Connection")
param = "driver={Microsoft Access Driver (*.mdb)};"
conn.Open param & ";dbq=" & Server.MapPath("book2.mdb")
sql = "Select * From key Where Name="" & Name & "" And Password = "" &      Password & """
Set rs = conn.Execute( sql )
If rs.EOF Then
"如果没有数据记录存在
CheckPassword = False
Else
CheckPassword = True
End If
End Function
%>
"编写一Function函数,利用这个函数向数据库book2.mdb传入Name和Password(即用户名和密码);然后利用Select指令从key数据表中选取具有与函数传入的Name和Password相吻合的数据记录;最后用If...Then...Else语句来判断数据表key中是否存在有符合条件的数据记录,并据此,给Function返回相应的结果。
< %
If IsEmpty(Session("Passed")) Then Session("Passed") = False
"判断上网者的Session("Passed")是否为空,即是否没有Session信息,如果是的话则说明上网者是第一次启动以下的程序。
Head = "请输入您的姓名和密码"
Name = Request("Name")
Password = Request("Password")
If Name = "" Or Password = "" Then
Head = "请输入您的姓名和密码"
"因为是初来者,所以Name = Request("Name")和Password = Request("Password")都等于空字符串,Session("Passed") = False,语句:If Not Session("Passed")(见下面)成立,于是将输入&ldquo;用户名称及密码&rdquo;的页面(见下图)显示出来。
ElseIf Not CheckPassword( Name, Password ) Then
Response.write "用户名称或密码错误"
Response.end
"如果上网者输入的&ldquo;用户名称及密码&rdquo;不正确的话,则显示说明信息:"用户名称或密码错误"
Else
Session("Passed") = True
End If
"当然,当上网者输入的&ldquo;用户名称及密码&rdquo;是正确的话,则Session("Passed")将等于 True。
If Not Session("Passed") Then
"如果If Not Session("Passed") Then不成立的话,将不会显示输入&ldquo;用户名称及密码&rdquo;的页面,而是直接进入加密的网页。
%>
"我们可以使用Session对象来存储特定用户的Session信息,即使该客户端由一个Web页面跳到另一个Web页面,该Session信息仍然存在。所以我们在这里用Session对象来存储上网者的信息,只要你通过了该密码验证,Session("Passed")就记下你已通过了该密码验证,因此在Session对象的有效期限内,你如果再次访问该网页时就不用再输入用户名称及密码就可以直接进行被加密的页面。
"-=在此省去了输入用户名称及密码页面的HTML代码=-
  输入用户名称及密码的页面如下所示:
 
< %
Response.End
End If
%> 

标签:
0
投稿

猜你喜欢

  • python实现的多线程端口扫描功能示例

    2023-02-02 10:18:29
  • 另外一种斜体的导航条

    2008-11-05 12:24:00
  • 联邦学习神经网络FedAvg算法实现

    2022-05-25 12:06:34
  • INSERT INTO .. ON DUPLICATE KEY更新多行记录

    2024-01-21 23:27:49
  • Python采集C站高校信息实战示例

    2023-11-16 12:01:56
  • c++与python实现二分查找的原理及实现

    2021-11-23 21:09:06
  • python3.6、opencv安装环境搭建过程(图文教程)

    2022-03-11 16:04:44
  • vue组件三大核心概念图文详解

    2024-05-09 15:22:42
  • js获取IP地址的方法小结

    2024-04-18 09:50:02
  • Python统计词频的几种方法小结

    2023-10-22 05:35:41
  • 浅谈Vue3 父子传值

    2024-05-28 15:59:21
  • 用Python编写简单的定时器的方法

    2022-03-15 07:20:32
  • Python 标准库 fileinput与文件迭代器

    2023-10-31 22:36:50
  • numpy.insert用法及内插插0的方法

    2023-03-28 10:06:13
  • python实现贝叶斯推断的例子

    2022-05-06 02:14:55
  • Mysql基础知识点汇总

    2024-01-23 08:15:40
  • d3.js实现简单的网络拓扑图实例代码

    2024-05-09 10:19:58
  • 一个用JavaScript写的本周是本学期第几周的程序

    2009-03-09 12:49:00
  • pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)

    2023-05-15 02:03:20
  • php session 错误

    2023-11-14 18:31:19
  • asp之家 网络编程 m.aspxhome.com