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文件下载类
Dec 06 PHP
PHP 实例化类的一点摘记
Mar 23 PHP
深入PHP curl参数的详解
Jun 17 PHP
PHP远程采集图片详细教程
Jul 01 PHP
php中Array2xml类实现数组转化成XML实例
Dec 08 PHP
PHP PDO fetch 模式各种参数的输出结果一览
Jan 07 PHP
PHP判断浏览器、判断语言代码分享
Mar 05 PHP
PHP5.5迭代生成器用法实例详解
Mar 16 PHP
100行PHP代码实现socks5代理服务器
Apr 28 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
Mar 28 PHP
Laravel使用模型实现like模糊查询的例子
Oct 24 PHP
PHP实现倒计时功能
Nov 16 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中循环语句的用法介绍
2012/01/30 PHP
PHP生成及获取JSON文件的方法
2016/08/23 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
拖动布局之保存布局页面cookies篇
2010/10/29 Javascript
纯文字版返回顶端的js代码
2013/08/01 Javascript
js返回上一页并刷新的多种实现方法
2014/02/26 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
jquery中trigger()无法触发hover事件的解决方法
2015/05/07 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
通过隐藏iframe实现无刷新上传文件操作
2016/03/16 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
基于js中的原型、继承的一些想法
2016/08/10 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
2016/12/18 Javascript
微信小程序实现根据字母选择城市功能
2017/08/16 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
微信小程序如何获取地址
2019/12/24 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
简单说明Python中的装饰器的用法
2015/04/24 Python
详解Python中heapq模块的用法
2016/06/28 Python
Flask框架的学习指南之用户登录管理
2016/11/20 Python
apache部署python程序出现503错误的解决方法
2017/07/24 Python
pyttsx3实现中文文字转语音的方法
2018/12/24 Python
django框架自定义模板标签(template tag)操作示例
2019/06/24 Python
Python + OpenCV 实现LBP特征提取的示例代码
2019/07/11 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
2019/08/27 Python
Python PyInstaller安装和使用教程详解
2020/01/08 Python
python如何调用php文件中的函数详解
2020/12/29 Python
世界首屈一指的钓鱼用品商店:TackleDirect
2016/07/26 全球购物
日本网路线上商品代购服务:转送JAPAN
2016/08/05 全球购物
医院护士专业个人的求职信
2013/12/09 职场文书
英语教学随笔感言
2014/02/20 职场文书
2016年秋季趣味运动会开幕词
2016/03/04 职场文书
WINDOWS下安装mysql 8.x 的方法图文教程
2022/04/19 MySQL