ie与session丢失(新窗口cookie丢失)实测及解决方案_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ie与session丢失(新窗口cookie丢失)实测及解决方案_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1224字,纯文字阅读大概需要2分钟。
内容图文
今天在一个群中有人问到ie6中使用js的open,发现新窗口中并获取不到session,经过使用下面的测试代码测试发现,是因为phpsessionid储存是进程级的有效期,只有同一进程才能获取得到,很多人说,open后或是target="_blank",都是会打开新的ie进程,
所以,之前窗口的phpsessionid就不跟着新窗口走,导致获取不到.
我自己的测试使用的是ietest,6/7/8(9启动不起来,不确定),都出现相同的情况.
但是使用windows自带的ie10测试不存在此情况.
chrome也是多线程,但是并不存在此情况.
firefox不存在此情况.
index.php
代码如下:
setcookie('kkkkk','bbbb', time() + 1111111);
session_start();
$_SESSION['qidizi'] = 'kkkk';
var_dump( $_SESSION,$_COOKIE);
?>
dddd
b.php 跳出页面
代码如下:
<?php
session_start();
var_dump( $_SESSION,$_COOKIE);
从测试中看到,如果cookie设置是延后定时失效,而非进程级的,那在open后也能看到,
所以,针对此情况,防止用户在使用ie内核出现登录状态丢失,可以配合cookie来使用,
php配置提供一个方式是自动把sid加到uri中,但是对于相对路径并不会自动添加,
只不过,cookie被禁用这种极端情况,极少遇到,
cookie+session足够应付常用情况了.http://www.bkjia.com/PHPjc/328039.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/328039.htmlTechArticle今天在一个群中有人问到ie6中使用js的open,发现新窗口中并获取不到session, 经过使用下面的测试代码测试发现,是因为phpsessionid储存是进程级的...
内容总结
以上是互联网集市为您收集整理的ie与session丢失(新窗口cookie丢失)实测及解决方案_PHP教程全部内容,希望文章能够帮你解决ie与session丢失(新窗口cookie丢失)实测及解决方案_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。