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


Posted in PHP onDecember 20, 2014

遇到了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 = '3water.com';  

$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。

PHP 相关文章推荐
php Memcache 中实现消息队列
Nov 24 PHP
THINKPHP+JS实现缩放图片式截图的实现
Mar 07 PHP
php中的观察者模式
Mar 24 PHP
php array_walk() 数组函数
Jul 12 PHP
php变量作用域的深入解析
Jun 03 PHP
php获取参数的几种方法总结
Feb 18 PHP
destoon实现首页显示供应、企业、资讯条数的方法
Jul 15 PHP
整理php防注入和XSS攻击通用过滤
Sep 13 PHP
win平台安装配置Nginx+php+mysql 环境
Jan 12 PHP
php文档工具PHP Documentor安装与使用方法
Jan 25 PHP
PHP实现移除数组中为空或为某值元素的方法
Jan 07 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
May 31 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
Dec 19 #PHP
thinkphp中session和cookie无效的解决方法
Dec 19 #PHP
thinkphp3.0输出重复两次的解决方法
Dec 19 #PHP
thinkphp3.2.2实现生成多张缩略图的方法
Dec 19 #PHP
9个经典的PHP代码片段分享
Dec 18 #PHP
PHP程序员必须清楚的问题汇总
Dec 18 #PHP
8个PHP程序员常用的功能汇总
Dec 18 #PHP
You might like
PHP4实际应用经验篇(6)
2006/10/09 PHP
模拟SQLSERVER的两个函数:dateadd(),datediff()
2006/10/09 PHP
使用php实现快钱支付功能(涉及到接口)
2013/07/01 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
PHP将数据导出Excel表中的实例(投机型)
2017/07/31 PHP
PHP7匿名类的用法示例
2019/04/05 PHP
JSDoc 介绍使用规范JsDoc的使用介绍
2011/02/12 Javascript
js数组去重的常用方法总结
2014/01/24 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
2016/06/06 Javascript
浅析JavaScript中命名空间namespace模式
2016/06/22 Javascript
JavaScript中清空数组的方法总结
2016/12/02 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
深入理解nodejs中Express的中间件
2017/05/19 NodeJs
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
React 高阶组件入门介绍
2018/01/11 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
vue-router项目实战总结篇
2018/02/11 Javascript
浅谈webpack组织模块的原理
2018/03/10 Javascript
微信小程序倒计时功能实例代码
2018/07/17 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
2019/08/14 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
[59:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第二局
2016/03/04 DOTA
[19:26]TNC vs EG (BO3)
2018/06/07 DOTA
Python实现快速排序和插入排序算法及自定义排序的示例
2016/02/16 Python
python中栈的原理及实现方法示例
2019/11/27 Python
Django生成数据库及添加用户报错解决方案
2020/10/09 Python
俄罗斯旅游网站:Tripadvisor俄罗斯
2017/03/21 全球购物
Engel & Bengel官网:婴儿推车、儿童房家具和婴儿设备
2019/12/28 全球购物
小学教师的个人自我鉴定
2013/10/24 职场文书
揭牌仪式主持词
2014/03/19 职场文书
学生穿着不得体检讨书
2014/10/12 职场文书
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
2022/04/06 Vue.js