Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > ASP > session 对新开窗口无效
【标  题】:session 对新开窗口无效
【关键字】:session
【来  源】:http://blog.csdn.net/ant20060808/archive/2006/08/24/1112480.aspx

session 对新开窗口无效

Your Ad Here

出现问题

session 对新开窗口无效。当你登录成功后,重新启动另一个新的窗口,发现你还得重新登录! 

解决方法

用cookie,但是要给cookie加个过期时间,否则你在新开的窗口中仍然得不到这个值。不要忘了,session可是和cookie有着关系的。

相关知识:(以下为引用)

session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。

当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识 - 称为session id,如果已包含一个session id则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来使用(如果检索不到,可能会新建一个),如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个与此session相关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应中返回给客户端保存。

保存这个session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发挥给服务器。一般这个cookie的名字都是类似于SEEESIONID,而。比如weblogic对于web应用程序生成的cookie,JSESSIONID=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764,它的名字就是JSESSIONID。

由于cookie可以被人为的禁止,必须有其他机制以便在cookie被禁止时仍然能够把session id传递回服务器。经常被使用的一种技术叫做URL重写,另一种技术叫做表单隐藏字段。就是服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把session id传递回服务器。

在谈论session机制的时候,常常听到这样一种误解“只要关闭浏览器,session就消失了”。其实可以想象一下会员卡的例子,除非顾客主动对店家提出销卡,否则店家绝对不会轻易删除顾客的资料。对session来说也是一样的,除非程序通知服务器删除一个session,否则服务器会一直保留,程序一般都是在用户做log off的时候发个指令去删除session。然而浏览器从来不会主动在关闭之前通知服务器它将要关闭,因此服务器根本不会有机会知道浏览器已经关闭,之所以会有这种错觉,是大部分session机制都使用会话cookie来保存session id,而关闭浏览器后这个session id就消失了,再次连接服务器时也就无法找到原来的session。如果服务器设置的cookie被保存到硬盘上,或者使用某种手段改写浏览器发出的HTTP请求头,把原来的session id发送给服务器,则再次打开浏览器仍然能够找到原来的session。

恰恰是由于关闭浏览器不会导致session被删除,迫使服务器为seesion设置了一个失效时间,当距离客户端上一次使用session的时间超过这个失效时间时,服务器就可以认为客户端已经停止了活动,才会把session删除以节省存储空间。

用一个虚拟主机空间,构建多个网站:【上一篇】
YouTube在首页广告栏中展示Paris:【下一篇】
【相关文章】
  • PHP实现多web服务器共享SESSION数据
  • session的生存期
  • session传递数组
  • 使用Session State快速、可扩展、安全的管理Web程序(一)
  • Liferay Portal额外研究(三):IFrame Portlet的session丢失问题解决
  • Session的基本概念以及PHP中Session函数
  • NHibernate的Session管理
  • 在线人数统计,解决了关闭浏览器窗口,释放session的问题
  • IBM Rational 开发Session Ejb及Web应用
  • Session问题
  • 【随机文章】
  • 2005版===>linux版精华贴分类索引(二)(2005/04/05更新)
  • Javascript实例教程(20) 使用HoTMetal(3)
  • Linux入侵监测系统LIDS原理(1)
  • Java SE 6.0 候选发布版现在提供下载
  • 防盗连的PHP代码
  • Painter 实例教程-写实人物绘画(3)
  • tcp/ip
  • 输入表的序号数组生成表格
  • Javascript prototype 格式化日期 By shawl.qiu
  • 关于unix/unics
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.