大连网站制作客服
主营业务
  • 网站制作
  • 网站维护
  • 网站推广
  • 域名空间
联系电话
联系人:尹先生
QQ:1050706570
E-mail:biz@noonenet.cn
地址:大连市甘井子区哲林北园29号
·首页 >> 网站技术 >> 彻底解决session设置timeout不起作用、自动失效的方法

彻底解决session设置timeout不起作用、自动失效的方法

  更新时间:2009-8-3 17:30:34    编辑:阿帆

最近做了一套信访管理系统,由于上访登记时间较长,所以要求系统设置页面超时时间必须长,不然数据输入完了程序总是提示"用户登录超时,请您重新登录",这样的话,输入的数据就白费了。所以我决定将时间限制设定长一些,就设置5个小时吧,应该够了吧...

以下是代码片段:
’-- 设定在5个小时

session.timeout = 300       ’×

系统运行环境:win2003+iis6.0+asp
做了多次测试,居然不好用,这是为什么呢,上网找了许多资料,但是都属于session的基础篇,所以狠下心来,也不找了,自己研究吧,但是无论多少次测试却都无效,没办法了,换个方法试试吧,用cookies配合下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来取代吧.

 

原载: No.1网络工作室 http://www.noonenet.cn/
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。


Tags:session 设置 timeout 不起作用 自动失效
同类文章:
· banner图片过渡效果
· Asp - 学习StrComp函数
· Asp中Session详解
· Asp获取用户真实IP地址
· 浮动框架[iframe]背景透明
返回新闻列表
top
本站关键字:大连网站制作 - 大连网站建设 - 大连网页制作
CopyRight © 2009-2012 No.1网络工作室 All Rights Reserved  sitemap
地址:大连市甘井子区哲林北园29号 电话:13889684613 E-mail:biz@noonenet.cn QQ:1050706570
logo