Home  >  Article  >  Backend Development  >  php中http与https跨域共享session的解决方法_PHP

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

WBOY
WBOYOriginal
2016-06-01 11:06:51980browse

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn