精美而实用的网站,关注web编程技术、网站运营、SEO推广,让您轻松愉快的学习

青岛星网beta版本地测试没问题上线后,管理在登陆网站后台的时候,登陆成功后一分钟左右系统就自动退出了!因为登陆判断是用Session做的,所以肯定是Session失效太快导致的。附上解决方法。

青岛星网前台的文章底部都有评论,评论的时候要求输入验证码,验证码也是用Session做的,经过测试发现验证码输入正确提交的时候也提示:验证码错误,说明验证码的Session也已失效!个人觉得因为Session是存放在服务器的内存中,应该是服务器IIS属性里的内存设置有问题。但是因为是购买的虚拟空间我们不可能有管理权限,交涉空间商可能又得不到解决。对此种情况我的解决方案是:去掉Session 更换为Cookies。

前台验证码的Session:Session("yanzhengma") =yanzhengma  更换为:Response.Cookies("yanzhengma")=yanzhengma

在判断的时候把:Session("yanzhengma") =yanzhengma 更换为:request.cookies("yanzhengma")=yanzhengma 这个样子测试后前台评论验证码不会再提示错误了。

那么有人问了cookies 要不要写失效时间呢?我在这里没有写cookies的失效时间,它的默认失效是在关闭浏览器的时候就自动失效了。

下面我又把后台登陆判断那里更改为了cookies判断,在我们点击系统退出的时候很多人都是这么写的:response.cookies("名称")=""  这么写的人不知道有没有再次获取过cookies看看呢?其实这个样子是不能完全清除cookies的,正确的写法是:

response.cookies("名称")=""
response.cookies("名称").expires = now-1

这个样子就OK了。

就此我们Session失效太快的问题就已经完美的得到了解决!青岛星网会与大家一起分享在网站设计过程中遇到的各种问题。

Tags:Session失效 Session超时
没有了