遇到了http、https协议下session共享解决cookie失效的问题,这里提供一个临时解决办法。
实现原理:把session id设置到本地的cookie。
如下:
复制代码 代码如下:
$currentsessionid = session_id();
session_id($currentsessionid );
以下是实现代码,分为http与https两部分。
1,http部分:
复制代码 代码如下:
<?php
session_start();
$currentsessionid = session_id();
$_session['testvariable'] = 'session worked';
$secureserverdomain = 'www.jb51.net';
$securepagepath = '/safepages/securepage.php'
echo '<a href="https://' . $secureserverdomain . $securepagepath . '?session="' . $currentsessionid . '">点这里跳转到https 协议</a>';
?>
2,https部分
复制代码 代码如下:
<?php
$currentsessionid = $_get['session'];
session_id($currentsessionid);
session_start();
if (!emptyempty($_session['testvariable'])) {
echo $_session['testvariable'];
} else {
echo 'session did not work.';
}
?>
说明:
有点安全问题,session id的传输是没加密的,可以嗅探侦测到,获取这个session id进而获取session数据。
建议加密此id。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!