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面向对象全攻略 (二) 实例化对象 使用对象成员
Sep 30 PHP
PHP 简单日历实现代码
Oct 28 PHP
php 无法载入mysql扩展
Mar 12 PHP
深入HTTP响应状态码速查表的详解
Jun 07 PHP
解析PHP中的正则表达式以及模式匹配
Jun 19 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
Mar 17 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
Feb 02 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
Apr 12 PHP
微信企业转账之入口类分装php代码
Oct 01 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
Oct 04 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
Jan 23 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
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
php中数字0和空值的区别分析
2014/06/05 PHP
高质量PHP代码的50个实用技巧必备(上)
2016/01/22 PHP
PHP实现的多文件上传类及用法示例
2016/05/06 PHP
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
2009/12/02 Javascript
js中replace的用法总结
2013/12/27 Javascript
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
移动设备web开发首选框架:zeptojs介绍
2015/01/29 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
IE中document.createElement的iframe无法设置属性name的解决方法
2015/09/14 Javascript
javascript实现简单的全选和反选功能
2016/01/05 Javascript
简单的js计算器实现
2016/10/26 Javascript
JavaScript实现经典排序算法之选择排序
2016/12/28 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
2017/03/27 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
2017/05/25 jQuery
PHP7新特性简述
2017/06/11 Javascript
Node.js搭建WEB服务器的示例代码
2018/08/15 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
2018/09/27 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
JavaScript如何把两个数组对象合并过程解析
2019/10/10 Javascript
解决vue组件销毁之后计时器继续执行的问题
2020/07/21 Javascript
python 把数据 json格式输出的实例代码
2016/10/31 Python
Python实现的KMeans聚类算法实例分析
2018/12/29 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
python 写一个水果忍者游戏
2021/01/13 Python
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
英国著名的化妆品折扣网站:Allbeauty.com
2016/07/21 全球购物
基本款天堂:Everlane
2017/05/13 全球购物
出生医学证明样本
2014/01/17 职场文书
中英文求职信范文
2014/01/27 职场文书
关于爱国的标语
2014/06/24 职场文书
夫妻忠诚协议书范本
2014/11/17 职场文书
2016公司中秋节寄语
2015/12/07 职场文书
关于springboot配置druid数据源不生效问题(踩坑记)
2021/09/25 Java/Android