色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

ie與session丟失(新窗口cookie丟失)實測及解決方案

今天在一個群中有人問到ie6中使用js的open,發(fā)現(xiàn)新窗口中并獲取不到session,
經(jīng)過使用下面的測試代碼測試發(fā)現(xiàn),是因為phpsessionid儲存是進程級的有效期,只有同一進程才能獲取得到,很多人說,open后或是target="_blank",都是會打開新的ie進程,
所以,之前窗口的phpsessionid就不跟著新窗口走,導致獲取不到.
我自己的測試使用的是ietest,6/7/8(9啟動不起來,不確定),都出現(xiàn)相同的情況.
但是使用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內核出現(xiàn)登錄狀態(tài)丟失,可以配合cookie來使用,
php配置提供一個方式是自動把sid加到uri中,但是對于相對路徑并不會自動添加,
只不過,cookie被禁用這種極端情況,極少遇到,
cookie+session足夠應付常用情況了.

php技術ie與session丟失(新窗口cookie丟失)實測及解決方案,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 崇信县| 宁化县| 当阳市| 尼木县| 蕲春县| 文山县| 彭山县| 东辽县| 镇安县| 淄博市| 河曲县| 高尔夫| 东方市| 河北省| 海口市| 观塘区| 郧西县| 邛崃市| 开远市| 巴楚县| 游戏| 保康县| 临沂市| 格尔木市| 湖州市| 和林格尔县| 新竹县| 武清区| 德阳市| 宁化县| 大化| 博白县| 偃师市| 阳曲县| 金川县| 天水市| 苏尼特左旗| 隆子县| 浑源县| 凌海市| 娱乐|