电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> Javascript>>关于iframe和session以及cookies公用失效的问题:

关于iframe和session以及cookies公用失效的问题

来源:www.cncfan.com | 2006-5-11 | (有9449人读过)

问:
<td width="597" valign="top"><iframe frameBorder=0 name=right src="http://*.*.*.*/main.jsp" style="height:800px;visibility:inherit;width:100%;z-index:2" scrolling="auto"> </iframe> </td>
当直接访问http://*.*.*.*/main.jsp这个地址时,浏览器能和服务器建立session,但是如果iframe的话,浏览器如果不调整安全设置的话,就不能建立session。

我作了两个试验:
1、当“父”页面和iframe页面在同一站点时,session是由cookie建立,因为我建了个filter,得到:
request.isRequestedSessionIdFromCookie()=true;
可以看出,此时session是用(会话)cookie建立的。

2、当“父”页面和iframe页面不在同一站点时,sessions建立失败,
request.isRequestedSessionIdFromCookie()=false;
此时可以从浏览器的隐私报告中看到,浏览器阻挡了iframe页面中的cookie请求,
导致session建立失败。

不知有谁能告诉我在原因和解决方案,十分感谢

______________________________________________________________________________________________
答1:
没用过,,,帮你Up
______________________________________________________________________________________________
答2:
感谢Leemaasn(呆鸟一号)
______________________________________________________________________________________________
答3:
不会的同学也请帮忙顶呀
______________________________________________________________________________________________
答4:
一个session只能针对一个站点吧,好像的说
______________________________________________________________________________________________
答5:
没有办法share cookie,否则IE就太不安全了。
______________________________________________________________________________________________
答6:
session只能对一个用户,可以在同一个站点内用的
用application呢,到服务器关闭
______________________________________________________________________________________________
答7:
我估计也是没有办法。再看看吧,不行就结帖
______________________________________________________________________________________________
答8:
帮你up,没办法
______________________________________________________________________________________________
答9:
学习!
______________________________________________________________________________________________
答10:
呵呵,iframe和frame邮什么不同,iframe可不可以嵌入到table里
______________________________________________________________________________________________
答11:
自己再顶一下
______________________________________________________________________________________________
答12:
<iframe frameBorder=0 name=right src="http://*.*.*.*/main.jsp"

你这是在引用别的站点的内容了,
当然是不可以共用的,

这是安全规则设计的时候就是这样规定的啊.

要是可以随意共享的话,那人家使用iframe就可以盗取你的资料了.


______________________________________________________________________________________________
答13:
再顶一次,明天结帖
______________________________________________________________________________________________
答14:
pigo(~_~ ^-^. 。o 0 O O=无法悲伤=O O 0 o 。. ^-^~_~) ,我不懂,这种方式和在浏览器里访问有什么不一样?能解释一下吗?
______________________________________________________________________________________________
答15:
要想建立session需要访问另一个网站的servlet。直接用iframe访问jsp是不可以的。
______________________________________________________________________________________________
答16:
wyerm(Andy),能解释一下吗?多谢了。
______________________________________________________________________________________________
答17:
这种需求是在两个厂家的页面集成时产生的。两个厂家维护两套不同的系统,通过iframe把两个系统集成起来。
______________________________________________________________________________________________
答18:
如果用iframe不行的话,不知哪位高手有什么替代的方案,请不吝赐教!
______________________________________________________________________________________________
答19:
应该这样用:
a网站:a.jsp <iframe src="http://b.**.com/servlet/servlet1?**=**.....">这样访问会在b.**.com上面生成一个session。
如果a.jsp <iframe src="http://b.**.com/jsp/b.jsp?*=**.....">这样是不可以的。
Javascript热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号