网络编程 
首页 > 网络编程 > 浏览文章

php中http与https跨域共享session的解决方法

(编辑:jimmy 日期: 2024/11/20 浏览:3 次 )

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

如下:

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

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

1,http部分:

复制代码 代码如下:
<"https://' . $secureServerDomain . $securePagePath . '"' . $currentSessionID . '">点这里跳转到HTTPS 协议</a>';
"codetitle">复制代码 代码如下:
<?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。

上一篇:php获取数组元素中头一个数组元素值的实现方法
下一篇:php将textarea数据提交到mysql出现很多空格的解决方法