在线用户    站点地图 技术论坛 文档中心 站点导航 资源下载 语言参考 教程专题 站点统计 业务项目 使用帮助
您的位置
MSDN参考新加了CSS2参考,全中文,制作精良。245k下载。           新加了sxf_sxf推荐的"动态网页专家指导" 下载!          新加了lsg2002lsg推荐的"ASP.NET高级编程(PDF)" 下载!          新加了DHTML代码预览!!,功能强大哦!欢迎试用          新加了网友lincong为大家提供的SQL Server 2000 程序员指南,有点大,但同时也就说明内容全咯!           新加了网友ibra为大家提供的北大的JAVA课件,很适合初学者入门           新加了一个java的连接缓冲池代码示例           新加了人月神话电子版下载!软件工程巨著哦~~           更新了评分标准,引入了“专家分”概念,相信可以更好的激励大家的学习!详情请看“使用帮助”           新加了由网友GGG提供的“IIS超级管理手册”,值得一看哦!(虽然我没看过 :P )           新加了“英雄榜”,欢迎测试!           “无组件上传·从原理剖析到实践”已经全部完成,源码全部开放,有兴趣的朋友请到文档中心一探究竟。  您的位置  首页>文档中心>ASP>文档A0000534 在同一窗口中打开页面中的链接 在新窗口中打开页面中的链接 将ASPCHINA设为首页 将ASPCHINA加入书签    
 LOGIN HERE
用户:
密码: 忘记密码
记住密码 用户注册 游客进入
相关文章

SqlServer数据库的备份和恢复措施

将数据库(access)升级为sqlserver需要注意的问题

SQL Server的存储过程调用Com组件

SQL注入天书 - ASP注入漏洞全接触

jTDS mssqlserver/sybase 10 JDBC 驱动下载(最好的mssqlserver jdbc driver)

在2003下用JDBC访问本机MS SQL

不用odbc成功连接sqlserver

SQLSERVER 2000的JDBC驱动

SQL SERVER的数据类型

SQL Server 2000 程序员指南
发表文章
ASP与数据库运用:密码验证

原作者:不详     提交人:行云流水     发布时间:03-11-14     文章类型:转贴     浏览量:3555
参考链结:http://6to23.com/s11/s11d4/200319144550.htm    
关键字:密码验证|sql
[本文档没有附件]
字体:    视力保护色: 杏仁黄  秋叶褐  胭脂红  芥末绿  天蓝  雪青  灰  银河白(默认色) [A0000534]


ASP与数据库运用:密码验证
2003:1:9 ·来源:www.gaofeng.org 

  Microsoft的大作ASP(Active Server Pages)以其易学易用、扩充性好、功能多而强等优点正掀起一场新的web编程革命(从严格意义上讲,编写asp并不是编程),它以令人吃惊的发展和普及速度大有取代由perl等语言编写的CGI(Common Gateway Interface,通用网关接口)的势头。基于web page方式的web管理模式已经成为潮流,看看现在的网管们,有谁不会asp的编写呢?要管理?那你可能就要用到我这里要说的“密码验证”了。简单地说,密码验证就是首先判断你是不是有登录权限,如果有,就继续,否则,哼哼……。什么?你到现在还不知道ASP是什么东东?“该程序执行了非法操作,即将被关闭。如仍有问题,请与程序供应商联系。”----------系统语
下面,我们就来看看实现密码验证的ASP需要些什么吧。

  一、ASP运行环境:

  Windows 95/98单机平台:PWS (Personal Web Server)4.0、windowsNT 4.0/5.0服务器平台:IIS(Internet Information Server)ServicePack 3及其以上版本)NT workstation 4.0工作站平台:PWS(Personal WebServer )NT workstation版及最新版的IE浏览器。

  二、用于制作ASP的软件Windows FrontPage 98/2000、Dreamweaver3.0-4.0,如果这些软件你都没有,那你就用windows中的Notepad 当一次“代码编写狂”吧。不过ASP中很多代码仍是需要我们手工编写大量代码的,用专用的网页制作软件只不过是偷一丁点懒而已。

  三、用哪一种数据库作为储存用户资料(用户名及密码)的数据库呢?

  SQL Server、Microsoft Access 97/2000等都可以。本人建议你使用Access,因为你可能对它比较熟悉,一旦有问题,解决起来比较容易,更深的原因是:Microsoft Access相对于其它非服务器等级的数据库执行的效率要高得多。

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

  让我们一步一步来做这个密码验证吧,我采用的是Windows 98 + PWS4.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"用户名或密码错误!
请检查你的用户名及密码然后再试一次!"‘如果用户已经输入完整信息,但输入错误也返回出错信息。

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>




关于这篇文章的评论 [注意:这里仅仅是给大家提供了一个发表对文章本身看法的地方,如果有疑问,请到论坛提出] 我要提问!
游客        2004/3/12 17:23:00
哈!!犯错误了^
此种方法不易推广
1\认证性能太差(网上随便搜搜都会讲差)
2\密码写出(能不是每个人都能看到了)

以许我讲错了,但我绝不会用你的这种方法
标题
内容
发言
*您尚未以注册用户身份登录,不能发表评论。这里登录
您的位置
  (c)2000-2019 Yup Studio, all rights reserved.  
85.9375