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 相关文章推荐
多重?l件?合查?(二)
Oct 09 PHP
PHP中的session永不过期的解决思路及实现方法分享
Apr 20 PHP
PHP __autoload函数(自动载入类文件)的使用方法
Feb 04 PHP
深入php 正则表达式的学习探讨
Jun 06 PHP
windows7下安装php的imagick和imagemagick扩展教程
Jul 04 PHP
3款值得推荐的微信开发开源框架
Oct 28 PHP
PHP中each与list用法分析
Jan 08 PHP
PHP实现模拟http请求的方法分析
Dec 20 PHP
PHP封装的完整分页类示例
Aug 21 PHP
PHP实现字符串的全排列详解
Apr 24 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 PHP
详解Laravel框架的依赖注入功能
May 27 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源码的使用方法讲解
2019/09/26 PHP
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
Javascript 正则表达式校验数字的简单实例
2016/11/02 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
2017/02/15 Javascript
Angular2下使用pdf插件的方法详解
2017/04/29 Javascript
捕获未处理的Promise错误方法
2017/10/13 Javascript
使用store来优化React组件的方法
2017/10/23 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
js实现从右往左匀速显示图片(无缝轮播)
2020/06/29 Javascript
nuxt 每个页面head标签内容设置方式
2020/11/05 Javascript
[01:54]TI珍贵瞬间系列(三):翻盘
2020/08/28 DOTA
[46:14]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第一场 12.11
2020/12/16 DOTA
python操作CouchDB的方法
2014/10/08 Python
Java分治归并排序算法实例详解
2017/12/12 Python
Python中应该使用%还是format来格式化字符串
2018/09/25 Python
Python 将Matrix、Dict保存到文件的方法
2018/10/30 Python
itchat-python搭建微信机器人(附示例)
2019/06/11 Python
Django通用类视图实现忘记密码重置密码功能示例
2019/12/17 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
python import 上级目录的导入
2020/11/03 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
使用html5 canvas绘制圆环动效
2019/06/03 HTML / CSS
英国独特礼物想法和个性化礼物网站:notonthehighstreet.com
2018/04/16 全球购物
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
公司中层干部的自我评价分享
2014/03/01 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
竞选劳动委员演讲稿
2014/04/28 职场文书
2014年底工作总结
2014/12/15 职场文书
中学生运动会广播稿
2015/08/19 职场文书
python OpenCV学习笔记
2021/03/31 Python