ie与session丢失(新窗口cookie丢失)实测及解决方案


Posted in PHP onJuly 15, 2013

今天在一个群中有人问到ie6中使用js的open,发现新窗口中并获取不到session,
经过使用下面的测试代码测试发现,是因为phpsessionid储存是进程级的有效期,只有同一进程才能获取得到,很多人说,open后或是target="_blank",都是会打开新的ie进程,
所以,之前窗口的phpsessionid就不跟着新窗口走,导致获取不到.
我自己的测试使用的是ietest,6/7/8(9启动不起来,不确定),都出现相同的情况.
但是使用windows自带的ie10测试不存在此情况.
chrome也是多线程,但是并不存在此情况.

firefox不存在此情况.
index.php

<?php 
setcookie('kkkkk','bbbb', time() + 1111111); 
session_start(); 
$_SESSION['qidizi'] = 'kkkk'; 
var_dump( $_SESSION,$_COOKIE); 
?> 
<input type="button" value="d" onclick="window.open('./b.php');" /> 
<a href="b.php" target="_blank">dddd</a>

b.php 跳出页面
<?php 
session_start(); 
var_dump( $_SESSION,$_COOKIE);

从测试中看到,如果cookie设置是延后定时失效,而非进程级的,那在open后也能看到,
所以,针对此情况,防止用户在使用ie内核出现登录状态丢失,可以配合cookie来使用,
php配置提供一个方式是自动把sid加到uri中,但是对于相对路径并不会自动添加,
只不过,cookie被禁用这种极端情况,极少遇到,
cookie+session足够应付常用情况了.
PHP 相关文章推荐
优化php效率,提高php性能的一些方法
Mar 24 PHP
解决File size limit exceeded 错误的方法
Jun 14 PHP
PHP实现变色验证码实例
Jan 06 PHP
PHP获取当前日期和时间及格式化方法参数
May 11 PHP
php中array_multisort对多维数组排序的方法
Jun 21 PHP
PHP提高编程效率的20个要点
Sep 23 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
PHP实现找出链表中环的入口节点
Jan 16 PHP
PHP 二维array转换json的实例讲解
Aug 21 PHP
PHP操作XML中XPath的应用示例
Jul 04 PHP
PHP下载文件函数与用法示例
Sep 27 PHP
PHP 数组操作详解【遍历、指针、函数等】
May 13 PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 #PHP
Php output buffering缓存及程序缓存深入解析
Jul 15 #PHP
PHP 转义使用详解
Jul 15 #PHP
thinkphp 一个页面使用2次分页的实现方法
Jul 15 #PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
Jul 15 #PHP
PHP 伪静态技术原理以及突破原理实现介绍
Jul 12 #PHP
php的$_FILES的临时储存文件与回收机制实测过程
Jul 12 #PHP
You might like
PHP集成FCK的函数代码
2008/09/27 PHP
Thinkphp模板中使用自定义函数的方法
2012/09/23 PHP
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
开启PHP的伪静态模式
2015/12/31 PHP
PHP上传图片、删除图片简单实例
2016/11/12 PHP
不使用中间变量,交换int型的 a, b两个变量的值。
2010/10/29 Javascript
jquery获取radio值实例
2014/10/16 Javascript
如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
2015/03/05 Javascript
PassWord输入框代码分享
2016/06/07 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
BootStrap框架中的data-[ ]自定义属性理解(推荐)
2017/02/14 Javascript
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
echarts设置图例颜色和地图底色的方法实例
2018/08/01 Javascript
关于JavaScript中异步/等待的用法与理解
2020/11/18 Javascript
微信小程序onShareTimeline()实现分享朋友圈
2021/01/07 Javascript
[01:14]辉夜杯战队访谈宣传片—NEWBEE.Y
2015/12/26 DOTA
python动态监控日志内容的示例
2014/02/16 Python
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
2015/04/05 Python
python入门教程 python入门神图一张
2018/03/05 Python
Python常用爬虫代码总结方便查询
2019/02/25 Python
python Pandas库基础分析之时间序列的处理详解
2019/07/13 Python
Python基于DB-API操作MySQL数据库过程解析
2020/04/23 Python
Pandas中DataFrame交换列顺序的方法实现
2020/12/14 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
2021/02/26 Python
美国男士内衣品牌:Tommy John
2017/12/22 全球购物
中专毕业生自我鉴定范文
2013/11/09 职场文书
高级工程师岗位职责
2013/12/15 职场文书
班委竞选演讲稿
2014/04/28 职场文书
2014年党风建设工作总结
2014/11/19 职场文书
国庆节新闻稿
2015/07/17 职场文书
少先大队干部竞选稿
2015/11/20 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
2019年大学生暑期社会实践调查报告模板
2019/11/07 职场文书
光之国的四大叛徒:第一贝利亚导致宇宙毁灭,赛文奥特曼在榜
2022/03/18 日漫