网络编程
位置:首页>> 网络编程>> Asp编程>> asp如何最大限度地实现安全登录功能?

asp如何最大限度地实现安全登录功能?

  发布时间:2010-07-11 21:11:00 

标签:登录,安全,asp

如何最大限度地实现安全登录功能?
    具体方法如下(这是一个程序,为便于说明,中间用虚线“------”将代码分段解释):

<%
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"会自动将未登录的用户导航到登录页面中去。
 

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com