一个登录页面,被别的网站用
iframe 嵌进去后,死活无法登录(只在 IE 中存在这种情况)。
主要是
session 无法被保存的问题,下面把个人的解决过程分享个大家
今天搞的一个登录页面,被别的网站用
iframe 嵌进去后,死活无法登录(只在 IE 中存在这
种情况)。
很明显,
session 无法被保存。但是直接在地址栏打开那个登录页面,一切都正常啊。真是奇
怪啊。
在网上搜索了一下。发现这个问题还真有不少人提及到。最后的解决方法是在那个登录页面
里加上以下代码:
代码如下
:
<span style="font-family:Microsoft YaHei; font-size:14px">header('P3P: CP="ALL ADM DEV
PSAi COM OUR OTRo STP IND ONL"');
session_start();</span>
可能这个问题跟我的登录页面是采用
javascript 的 location 跳转也有关。但没有深入测试研究。
以下是拓展阅读
:
---------------------------------------------
今天在处理腾讯朋友应用的时候
,测试给我发来个工单,说应用在 IE7 上无法使用.出现登陆
超时错误
.
第一反应是
session 丢失了.
于是上网找了下
IE7 iframe session 丢失问题.后来找到如下文章,问题解决:
=============================================
昨天,我在校内上做的时间日记终于上线了。上线第一天有
80 多个用户安装,但却以外收
到不少用户的反馈说应用不可用。我之前都是在
firefox 上开发的(估计校内工作人员也是
用
firefox 审核的),在使用 IE7 测试时,却发现首页之外的页面全都无法正常打开。
在网上查找了许多资料,发现在
IE7 中存在这样的问题:如果页面中存在着一个或多个
iframe 的子页面,那么在子页面中创建 session 可能无 法成功,这样 session 数据就无法和
其他页面所共享。在开发校内、
51 应用时,假设采用 iframe 方式,很可能会遇到这样的问题。
而且这个问题只存
在于 IE7 浏览器中,我在 firefox, IE6 和 chrome 等浏览器中测试均没有
问题。
解决方案是:在运行
session_start 之前,在程序中加上如下一句(以 php 语言为例),大致
是向浏览器声明一下安全级别,这样
iframe 子页面在创建 session 时就不会有问题了: