php中http与https跨域共享session的解决方法
遇到了HTTP、HTTPS协议下session共享解决cookie失效的问题,这里提供一个临时解决办法。
实现原理:把sessionid设置到本地的cookie。
如下:
$currentSessionID=session_id(); session_id($currentSessionID);
以下是实现代码,分为http与https两部分。
1,http部分:
<?php session_start(); $currentSessionID=session_id(); $_SESSION['testvariable']='Sessionworked'; $secureServerDomain='www.nhooo.com'; $securePagePath='/safePages/securePage.php' echo'<ahref="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'Sessiondidnotwork.';
}
?>
说明:
有点安全问题,sessionid的传输是没加密的,可以嗅探侦测到,获取这个sessionid进而获取session数据。
建议加密此id。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短