| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1637 人关注过本帖
标题:奇怪的丢失session值(困绕一天的问题终于解决了!)
只看楼主 加入收藏
不惑
Rank: 2
等 级:论坛游民
威 望:2
帖 子:569
专家分:13
注 册:2007-3-22
收藏
 问题点数:0 回复次数:8 
奇怪的丢失session值(困绕一天的问题终于解决了!)

我有二个网站,在一个网站中有一页面使用了框架,框架中的一部分为另一个网站的内容,那个网站有用户功能,在登陆后保存用户信息的session会丢失,而且只在框架中丢失,不用框架时它不会丢失(我单独登陆B服务器时,什么操作它都不丢失)。
并且我用与调试的二台服务器不会丢失。
可能我说得有点乱,谁知道?
比如我有A服务器和B服务器,是公网的。在A上有一页面中的框架中有B上的内容,B上是有用户的,在登陆后使用session保存和判断用户信息。但这个SESSION会在登陆后,只要换一个页面它就丢失,也就是登陆的页面保存了它,它当时是有的,但只要切换过页面,它就丢失。
而我有二台测试用的服务器a,b它们不在公网,我一样在a的框架中含有b的内容,也一样是有用户,也一样是用session来保存信息,但不会丢失。
郁闷啊!!!!
为什么放到公网上就要丢失啊!!!!

[此贴子已经被作者于2007-9-4 20:01:54编辑过]

搜索更多相关主题的帖子: session 服务器 框架 页面 登陆 
2007-09-04 16:37
gupiao175
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:40
帖 子:1787
专家分:7527
注 册:2007-6-27
收藏
得分:0 

看了不是非常明白,不过我猜可能是SESSION的问题吧,SESSION的生存时间和空间范围好象是不能跨机的!只在本机和相应时间内有效!

不管怎么样,帮你顶个帖!


Q:1428196631,百度:开发地 即可找到我,有事请留言!
2007-09-04 16:57
不惑
Rank: 2
等 级:论坛游民
威 望:2
帖 子:569
专家分:13
注 册:2007-3-22
收藏
得分:0 

也许是这么回事吧

2007-09-04 17:01
ayue222
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:341
专家分:0
注 册:2007-7-25
收藏
得分:0 
session不能是跨域的..
2007-09-04 17:25
不惑
Rank: 2
等 级:论坛游民
威 望:2
帖 子:569
专家分:13
注 册:2007-3-22
收藏
得分:0 

在框架内没有改变过啊, 没有进行跳转过,只是在一个框架内吧了,这个框架内一直都是那个网站,没有跳出域.
为什么我测试的又可以呢?

2007-09-04 17:32
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
使用框架就等于与本站阁开了,框架内的地址其实是连接全地址

比如你是这样的框架 <iframe frameborder="0" scrolling="no" src="123.asp"></iframe>

实际上他的性质就是 <iframe frameborder="0" scrolling="no" src="http://www.XXXX.com/123.asp"></iframe>

所以,只要你使用了框架就等于是跨域了

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2007-09-04 18:24
不惑
Rank: 2
等 级:论坛游民
威 望:2
帖 子:569
专家分:13
注 册:2007-3-22
收藏
得分:0 

确实如各位所说(这个我已经通过显示session.sessionID得到证实,因为每换一个页面这个ID都不同的),但我还是想出了骗过系统的办法

[此贴子已经被作者于2007-9-4 19:50:54编辑过]

2007-09-04 19:47
不惑
Rank: 2
等 级:论坛游民
威 望:2
帖 子:569
专家分:13
注 册:2007-3-22
收藏
得分:0 
不过为了骗过系统,我还是看了不少资料
骗过的原理我说一下吧,下次大家可能会用到:
系统是认一个一个程序范围的,一般来说,一个IE默认为一个程序范围.
框架因为有了跨域的内容,所以它首先默认的是框架程序本身的程序范围,这样使得框架内的程序范围得不到确认.
为了让这个IE默认为框架内的程序范围,所以我使用了多次跳转.
首先,跳出本框架,进入一个无框架的需要session值的网站页面,并在这个页面中生成一个session以便系统自动生成一个sessionID,然后又跳回到有框架的页面.因为系统已经为这个IE生成了一个sessionID,所以只要不关掉这个IE,系统一直以为这个IE是本程序范围的.这样,再次生成的session值就得以在这个ID中生存下来.
也就达到了骗过系统的目的.
再补充一点,二次跳转使用了不同的方式,原因是我需要把框架外的信息丢弃,而要保存框架内的信息.
而不同的跳转方式会丢弃或保存跳转前的信息的.

[此贴子已经被作者于2007-9-4 20:25:28编辑过]

2007-09-04 19:48
gupiao175
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:40
帖 子:1787
专家分:7527
注 册:2007-6-27
收藏
得分:0 
讲得有点深奥哦,不太容易理解!
你既然有心讲解和大家分享,干吗不把你的例子发出来和大家共享一下呢?何必说这么多呢,我们又不是不会看代码的,大家说对吧?呵..

Q:1428196631,百度:开发地 即可找到我,有事请留言!
2007-09-04 21:31
快速回复:奇怪的丢失session值(困绕一天的问题终于解决了!)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012335 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved