欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-20 20:38:41
遇到了http、https协议下session共享解决cookie失效的问题,这里提供一个临时解决办法。 实现原理:把session id设置到本地的cookie。 如...

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

如下:

复制代码 代码如下:

$currentsessionid = session_id();
session_id($currentsessionid );

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

1,http部分:

复制代码 代码如下:

<?php
session_start(); 
$currentsessionid = session_id(); 
$_session['testvariable'] = 'session worked'; 
$secureserverdomain = 'www.jb51.net'; 
$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。