ASP中的SESSION问题. 如果好用,再加分!
一般来讲,先判断验证码----用户名及密码是否为空---验证用户名和密码与数据库数据对比---然后
Set Rs=Conn.Execute("Select id,Name,Pass From [user] where [Name]='"NameGet"' and [Pass]='"PassGet"'")
If Not(Rs.Bof And Rs.Eof) Then '若找到数据则运行下面
Session.Timeout=30 'SEESION有效时间为30分钟
'将用户资料记录到各自的Session变量中
Session("ID")=Cstr(Rs("id"))
Session("Name")=Rs("Name")
Session("Pass")=Rs("Pass")
Else
Rs.Close
Set Rs=Nothing
Response.Write"script language='javascript'alert('您输入的用户名或者密码错误!');history.back();/script"
Response.End
End If
Rs.Close
Set Rs=Nothing
不需要将Session("IsLogin") = "Yes"
===============================================
你的程序逻辑蛮混乱的
Session.TimeOut=120 因该在验证码和用户名及密码都通过后再设置,而不是一开始就设置
另外
If Rs("Admin_Pwd") = Md5(Ay_AdminPwd) Then
这个根本没必要,看下我贴出的程序源码,可以直接在SELECT中判断
还有
Session("IsLogin") = "Yes"就是相当与一个钥匙,但这把钥匙没任何锯齿,这种判断登陆一点都不安全.要是在虚拟主机上的话很简单就会被SEESION欺骗过去而得到后台权限
再有
Rs("Admin_LoginNumber") = Rs("Admin_LoginNumber") + 1
后台登陆还要记录次数?拿积分吗?
最后
Session.TimeOut=120
你可以先自己调试一下,比如Session.TimeOut=1
然后看下1分钟后SEESION是否会被清空,要是设置了120分钟,但实际没有到达的话那就可能是IIS中的设置了时间强制清空,一般默认情况是以页面中的Session.TimeOut来确定清空时间的,否则就是当页面关闭后会自动清空SEESION
要是你用的是IE的话那也有可能是你开了多个IE窗口,而你关闭其中一个后那么其它IE窗口的SEESION就失效了
建议使用多窗口浏览器,如MAXTHON
asp中SESSION 具体用法
在登录成功后赋值给某一个session值,跳转到其它页面就判断这个session值是否为空,为空则系统认为没有登录。
比如:
我使用帐号admin登录,登录成功后可用 Session("SiteMaster")="admin" 这个代码赋值。
代码的意思是声明一个名字为 SiteMaster 的Session变量,并赋值为"admin"。
它以后的判断和调用方法根普通的变量没什么两样。
请看判断例子:
if Session("SiteMaster")="" then
Response.Write "您没有登录!"
else
Response.Write "您成功登录!"
end if
请看调用例子:欢迎管理员%=Session("SiteMaster")%回来!
总之,普通变量怎么用,session变量就怎么用。
它们的区别是:普通变量只存在当前页面;session变量存在整个站点,默认保存时间为20分钟
ASP 急救 关于Session
看看没错
其他页面顶都加上
if session("username")""="" then
response.Write("scriptalert('你不具有此权限!');history.back();/script")
response.redirect "login.asp"
end if
ASP中的Session对象
Session 对象
可以使用 Session 对象存储特定用户会话所需的信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。
当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。
Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。有关使用 Session 对象的详细信息,请参阅“ASP 应用程序”部分的“管理会话”。
实际应用,
设置一个Session 对象:session("User")
假如用户未登录,则session("User")为空,如果登录成功,则将session("User")赋一个值,
通过对session("User")的值的判定就可知道用户是否登录,如已登录,还可以看出是什么级别的会员。