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

 我来答
大沈他次苹0B
2022-10-08 · TA获得超过7315个赞
知道大有可为答主
回答量:3059
采纳率:100%
帮助的人:176万
展开全部
   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 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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式