asp如何最大限度地实现安全登录功能?
发布时间:2010-07-11 21:11:00
如何最大限度地实现安全登录功能?
具体方法如下(这是一个程序,为便于说明,中间用虚线“------”将代码分段解释):
<%
if not IsEmpty(Session("cust—id")) and Len(Session("cust—id"))>0 then
' 用户登录后指向主页
Response.Redirect("navigation/dashbrd.asp")
' 在此添入真正的主页URL
end if
bLogin = False
' 设置标志
bError = False
if IsEmpty(Request("uid")) or Len(Request("uid")) = 0 or IsEmpty(Request("pwd")) or Len(Request("pwd")) = 0 then
' 检查空字符
bLogin = True
else
----------------------------------------------------------------------------------------------------------------
' 检验数据库保存密码表中是否有该用户
"SELECT * FROM customer WHERE cust—id=′ " & request("uid") &"′ and ′cust—pwd=′"& request(″pwd″) &"′"
' 连接数据库,其中request(″uid″)和request(″pwd″) 为本页HTML中表单中的用户名和密码的text
gbFound = False
----------------------------------------------------------------------------------------------------------------
if not rsCust.BOF and not rsCust.EOF then
gbFound = True
end if
if gbFound then
Session("cust—id") = rsCust.Fields("cust—id")
' 在session变量中记录有用的信息.此项为数据库中用户名
Session("cust—pwd") = rsCust.Fields("cust—pwd")
' 此项为数据库中用户密码
Session("power") = rsCust.Fields("power")
' 此项为数据库中用户权限,可选
' rsCust.ActiveConnection.Execute ("update customer set cust—login = ′ "& Now &"′ where cust_id = "& Session("cust—id") &"")
' 更新最后登录时间,可选
Response.Redirect("navigation/dashbrd.asp")
' 真正主页URL
Else
′UID and password not found
bError = True bLogin = True
end if
rsCust.Close
' 关闭记录
mycn—login.Close
set mycn—login=Nothing
end if
%>
----------------------------------------------------------------------------------------------------------------
' 登录页面
<form name="login" action="default.asp" method="post" target="—top">
' 在HTML中加入FORM,并设为自发送页.action后面要接本页的URL,这样,即使用户登录错误,在本页即可获得提示,而无须再返回前一页登录
input name="uid" size="10"maxlength="10" style="HEIGHT: 21px; WIDTH: 101px">
<input name="pwd"type="password" size="10" maxlength="10">
----------------------------------------------------------------------------------------------------------------
写完程序,我们再在网站的每一个页面的开头加入以下代码(想一想,为什么要这样?):
<% if IsEmpty(Session("cust—id")) or Len(trim(Session("cust—id")) = 0 then %)
<script language="JavaScript" runat=client>
<!——
top.location.href = "../default.asp"
//——>
<script>
<% Response.End
End If %>
其中,Session("cust—id") 为注册的用户名,top.location.href = ″../default.asp"会自动将未登录的用户导航到登录页面中去。
猜你喜欢
- <% Function ReplaceUrl2(HTMLstr) Dim n,st
- asp vbs Cache缓存类属性valid,是否可用,取值前判断属性name,cache名,新建对象后赋值方法add(值,到期时间),设
- MySQL安全性指南(2) 作 者: 晏子2.1.3 数据库和表权限下列权限运用于数据库和表上的操作。ALTER允许你使用ALTER TAB
- 1、善用css缩写可以减少页面文件大小,提高下载速度,同时使代码简洁可读。代码:div{ b
- 1、from子句组装来自不同数据源的数据; 2、where子句基于指定的条件对记录行进行筛选; 3、group&nb
- Request.ServerVariables("Url") 返回服务器地址Request.ServerVariable
- 一、创建和管理表 1、创建表语法 create table 表名(column datatype [default expr][,colum
- MySQL提供标准的SQL模式匹配,以及一种基于象Unix实用程序如vi、grep和sed的扩展正则表达式模式匹配的格式。标准的SQL模式匹
- 昨天在得写“RSS收藏”栏目展现的时候我让RSS的列表用弹出的形式展现了,开始是直接的控制 style.display 来做的,但是感觉有点
- 不知道有多少人清楚的知道,在Oracle中,如果一个复合索引,假定索引(a,b,c)三个字段,删除了(包括unused)其中一个字段,Ora
- 可能是我“火星”了,不过在 空虚 的 Blog 中学到的一招。这个技巧的原理是利用 iframe 载入本机各盘符的根目录,然后判断 ifra
- 代码如下:declare @cmd nvarchar(4000) set @cmd = N'exec [?].sys.sp_chan
- 神奇创意相框! 是的,主要利用position的relative, absolute, z-index属性。结合Photo Frame(相框
- 这次哀悼,网页设计方面除了应用CSS灰度配色和滤镜,还用到正计时代码,就象汶川大地震已过去了多少天。下面这段代码,是从网易页面提取出来的,具
- 在写ASP网页时常用的检测代码:服务器现在时间:<% =now %>服务器CPU型号:<%=Request.ServerV
- 在本身比较复杂的页面里,再突出信息,往往是把几种方法叠加起来使用,比如加粗加大、加粗加色等,区别在于使用的类别和程度。导致的结果是呈现越来越
- Cookie是一种小型文本文件,存储在用户计算机中,用于跟踪用户在互联网上的活动。Cookie通常由网站创建,以便记住用户的偏好和登录状态,
- 在不久前的一天,当我为了解决一个语法问题来翻阅VBscript文档时,偶然间发现在了下面的一句话: &nb
- 代码如下:<%@ Language=VBScript %> <% Dim 
- HTTP状态码 摘要说明成功2××