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 相关文章推荐
解析posix与perl标准的正则表达式区别
Jun 17 PHP
PHP采用get获取url汉字出现乱码的解决方法
Nov 13 PHP
PHP易混淆函数的区别及用法汇总
Nov 22 PHP
PHP静态文件生成类实例
Nov 29 PHP
PHP实现过滤各种HTML标签
May 17 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
Feb 15 PHP
PHP图形计数器程序显示网站用户浏览量
Jul 20 PHP
php  单例模式详细介绍及实现源码
Nov 05 PHP
简单谈谈 php 文件锁
Feb 19 PHP
php实现数组中出现次数超过一半的数字的统计方法
Oct 14 PHP
PHP5.5新特性之yield理解与用法实例分析
Jan 11 PHP
php pdo连接数据库操作示例
Nov 18 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开发注意事项总结
2015/02/04 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
2019/04/09 PHP
PHP设计模式概论【概念、分类、原则等】
2020/05/01 PHP
HTTP状态代码以及定义(解释)
2007/02/02 Javascript
JavaScript语句可以不以;结尾的烦恼
2007/03/08 Javascript
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
javascript中创建对象的三种常用方法
2010/12/30 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
jquery插件EasyUI中form表单提交实例分享
2016/01/11 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
JavaScript 闭包机制详解及实例代码
2016/10/10 Javascript
详解js中==与===的区别
2017/01/08 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
js中比较两个对象是否相同的方法示例
2019/09/02 Javascript
Element Popover 弹出框的使用示例
2020/07/26 Javascript
Postman如何实现参数化执行及断言处理
2020/07/28 Javascript
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
Python实现简单登录验证
2016/04/13 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
用python爬取租房网站信息的代码
2018/12/14 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
利用Python中的Xpath实现一个在线汇率转换器
2020/09/09 Python
viagogo法国票务平台:演唱会、体育比赛、戏剧门票
2017/03/27 全球购物
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
大学生水文观测实习自我鉴定
2013/09/29 职场文书
初一体育教学反思
2014/01/29 职场文书
警校毕业生自我评价
2014/04/06 职场文书
意外伤害赔偿协议书
2014/09/16 职场文书
公务员政审个人总结
2015/02/12 职场文书
监理中标通知书
2015/04/16 职场文书
敬老院志愿者活动总结
2015/05/06 职场文书
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers