当前位置:首页 > PHP教程 > PHP高级教程

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

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



【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!