遇到了http、https协议下session共享解决cookie失效的问题,这里提供一个临时解决办法。
实现原理:把session id设置到本地的cookie。
如下:
代码如下:
$currentsessionid = session_id();
session_id($currentsessionid );
以下是实现代码,分为http与https两部分。
1,http部分:
代码如下:
session_start();
$currentsessionid = session_id();
$_session['testvariable'] = 'session worked';
$secureserverdomain = 'www.bitscn.com';
$securepagepath = '/safepages/securepage.php'
echo '点这里跳转到https 协议';
?>
2,https部分
代码如下:
$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。