1NetMedia_Blog

<< ASP中gb2312和utf-8页面传递参数...  类别: ASP/.NET 结合jQuery.lazyload和masonry实... >>
彻底解决session设置timeout不起作用、自动失效的方法
[ 日期: 2015-08-25 12:04:33 AM | 作者: admin | 来源: 网络收集 | 人气:1276 | 晴天 | 心情: +2 ] 字号: 【
急速栏目链接:
标签:session  |  失效  |  
以下是代码片段:
'-- 用户登录成功后将用户名及用户级别等一些信息存入session和cookies各一份
session("username")="用户名"
session("userlevel") = "用户级别"
'-- 做份备份
response.cookies("userinfor")("username")="用户名"
response.cookies("userinfor")("userlevel")="用户级别"

'-- 这样一旦session自动失效,你就可以用cookies值来判断
if trim(request.cookies("userinfor")("username"))<>"" then
session("username")=request.cookies("userinfor")("username")
session("userlevel")=request.cookies("userinfor")("userlevel")
end if

if trim(session("username"))="" then
response.write "<script language='javascript'>alert('重新登录');location.href='登录页';</script>"
end if

'-- 同时也可以用cookies来限定超时时间,假设设定为1天
response.cookies("userinfor").expires=now()+1


说明
这样就可以了,引用这种方法的时候需要注意,在退出登录的时候,将cookies值也清空,不然会有安全隐患。
之所以导致session设置timeout不起作用,session自动失效的原因个人认为就是因为session相对于cookies来说还不够稳定,所以实现timeout这种功能的时候,最好还是用cookies的expires来取代吧.
   
Rss Comment  

没有相关评论

发表评论
请先注册,才能发表评论!
- 注册 -