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抓即时股票信息
Oct 09 PHP
Php做的端口嗅探器--可以指定网站和端口
Oct 09 PHP
解决phpmyadmin 乱码,支持gb2312和utf-8
Nov 20 PHP
ThinkPHP 防止表单重复提交的方法
Aug 08 PHP
PHP语言中global和$GLOBALS[]的分析 之二
Feb 02 PHP
PHP+MySQL投票系统的设计和实现分享
Sep 23 PHP
php处理文件的小例子(解压缩,删除目录)
Feb 03 PHP
PHP临时文件的安全性分析
Jul 04 PHP
PHP中exec与system用法区别分析
Sep 22 PHP
php实现微信公众号主动推送消息
Dec 31 PHP
Zend Framework动作助手Url用法详解
Mar 05 PHP
PHP实现的折半查找算法示例
Dec 19 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
UTF8编码内的繁简转换的PHP类
2009/07/09 PHP
使用PHP备份MYSQL数据的多种方法
2014/01/15 PHP
PHP封装CURL扩展类实例
2015/07/28 PHP
php函数连续调用实例分析
2015/07/30 PHP
PHP的Yii框架的基本使用示例
2015/08/21 PHP
PHP图像裁剪缩略裁切类源码及使用方法
2016/01/07 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
PHP PDO数据库操作预处理与注意事项
2019/03/16 PHP
php和asp语法上的区别总结
2019/05/12 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
javascript优先加载笔记代码
2008/09/30 Javascript
清空上传控件input file的值
2010/07/03 Javascript
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
2011/10/29 Javascript
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
JS网页图片按比例自适应缩放实现方法
2014/01/15 Javascript
不能不知道的10个angularjs英文学习网站
2016/03/23 Javascript
JavaScript每天必学之数组和对象部分
2016/09/17 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
本地存储localStorage用法详解
2017/07/31 Javascript
vue中的watch监听数据变化及watch中各属性的详解
2018/09/11 Javascript
JavaScript设计模式之装饰者模式实例详解
2019/01/17 Javascript
微信小程序webview 脚手架使用详解
2019/07/22 Javascript
python文件和目录操作函数小结
2014/07/11 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
2017/11/08 Python
django之session与分页(实例讲解)
2017/11/13 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
python将控制台输出保存至文件的方法
2019/01/07 Python
关于python中plt.hist参数的使用详解
2019/11/28 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
Python中return函数返回值实例用法
2020/11/19 Python
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
《逃家小兔》教学反思
2014/02/23 职场文书
环保倡议书范文
2014/05/12 职场文书
民族团结先进个人事迹材料
2014/06/02 职场文书
详解Python牛顿插值法
2021/05/11 Python