遇到了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。