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

WBOY
Release: 2016-06-01 11:06:51
Original
986 people have browsed it

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

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template