遇到了HTTP、HTTPS协议下session共享解决cookie失效的问题,这里提供一个临时解决办法。实现原理:把session id设置到本地的cookie。

如下:

复制代码 代码如下:$currentSessionID = session_id();session_id($currentSessionID );

以下是实现代码,分为http与https两部分。

1,http部分:

复制代码 代码如下:<?phpsession_start();  $currentSessionID = session_id();  $_SESSION["testvariable"] = "Session worked";  $secureServerDomain = "www.rzxsoft.cn";  $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。