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验证码(支持中文)
Feb 14 PHP
php设计模式 Builder(建造者模式)
Jun 26 PHP
在PHP上显示JFreechart画的统计图方法
Nov 03 PHP
Codeigniter操作数据库表的优化写法总结
Jun 12 PHP
PHP清除数组中所有字符串两端空格的方法
Oct 20 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
Apr 20 PHP
全面了解PHP中的全局变量
Jun 17 PHP
php 使用redis锁限制并发访问类示例
Nov 02 PHP
PHP基于堆栈实现的高级计算器功能示例
Sep 15 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
Apr 08 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
Feb 16 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
Mar 22 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
PHP中实现图片的锐化
2006/10/09 PHP
自定义PHP分页函数
2006/10/09 PHP
php,ajax实现分页
2008/03/27 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
php计算多个集合的笛卡尔积实例详解
2017/02/16 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
如何在PHP中读写文件
2020/09/07 PHP
jquery简单实现滚动条下拉DIV固定在头部不动
2013/11/25 Javascript
JavaScript二维数组实现的省市联动菜单
2014/05/08 Javascript
jQuery之Deferred对象详解
2014/09/04 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
JavaScript使用function定义对象并调用的方法
2015/03/23 Javascript
javascript实现unicode与ASCII相互转换的方法
2015/12/10 Javascript
jQuery+json实现的简易Ajax调用实例
2015/12/14 Javascript
Node.js实用代码段之获取Buffer对象字节长度
2016/03/17 Javascript
用jquery快速解决IE输入框不能输入的问题
2016/10/04 Javascript
jQuery中ajax错误调试分析
2016/12/01 Javascript
jQuery实现拖拽可编辑模块功能代码
2017/01/12 Javascript
jQuery插件zTree实现删除树节点的方法示例
2017/03/08 Javascript
js实现随机数字字母验证码
2017/06/19 Javascript
微信小程序自定义select下拉选项框组件的实现代码
2018/08/28 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
nodejs提示:cross-device link not permitted, rename错误的解决方法
2019/06/10 NodeJs
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
2019/09/28 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
[00:35]DOTA2上海特级锦标赛 VP战队宣传片
2016/03/04 DOTA
django的登录注册系统的示例代码
2018/05/14 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
2018/07/02 Python
Python使用sqlalchemy模块连接数据库操作示例
2019/03/13 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
python中的数组赋值与拷贝的区别详解
2019/11/26 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
Madewell澳大利亚官方网站:美国休闲服饰品牌
2019/07/18 全球购物
供应商食品安全承诺书
2015/04/29 职场文书
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android