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中在数据库中保存Checkbox数据(1)
Oct 09 PHP
如何在PHP中使用Oracle数据库(3)
Oct 09 PHP
php 图片上传类代码
Jul 17 PHP
mayfish 数据入库验证代码
Apr 30 PHP
PHP中将数组转成XML格式的实现代码
Aug 08 PHP
php ci框架验证码实例分析
Jun 26 PHP
基于递归实现的php树形菜单代码
Nov 19 PHP
php中smarty模板条件判断用法实例
Jun 11 PHP
PHP函数import_request_variables()用法分析
Apr 02 PHP
Yii2.0实现生成二维码功能实例
Oct 24 PHP
php实现银联商务公众号+服务窗支付的示例代码
Oct 12 PHP
php在linux环境中如何使用redis详解
Dec 15 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
解析MySql与Java的时间类型
2013/06/22 PHP
dedecms中使用php语句指南
2014/11/13 PHP
Zend Guard使用指南及问题处理
2015/01/07 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
Yii2.0实现的批量更新及批量插入功能示例
2019/01/29 PHP
详解PHP的抽象类和抽象方法以及接口总结
2019/03/15 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
用jquery仿做发微博功能示例
2014/04/18 Javascript
JS运动基础框架实例分析
2015/03/03 Javascript
Jquery操作Ajax方法小结
2015/11/29 Javascript
JS打印组合功能
2016/08/04 Javascript
ajax与json 获取数据并在前台使用简单实例
2017/01/19 Javascript
Bootstrap框架安装使用详解
2017/01/21 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
使用electron制作满屏心特效的示例代码
2018/11/27 Javascript
vue中多路由表头吸顶实现的几种布局方式
2019/04/12 Javascript
jquery实现动态创建form并提交的方法示例
2019/05/27 jQuery
Nodejs技巧之Exceljs表格操作用法示例
2019/11/06 NodeJs
JavaScript实现简单进度条效果
2020/03/25 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
2020/08/11 Javascript
Python切片用法实例教程
2014/09/08 Python
利用python爬取散文网的文章实例教程
2017/06/18 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
2018/04/18 Python
Python使用Windows API创建窗口示例【基于win32gui模块】
2018/05/09 Python
python的schedule定时任务模块二次封装方法
2019/02/19 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
2019/06/13 Python
Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例
2019/09/29 Python
python修改文件内容的3种方法详解
2019/11/15 Python
Pytorch之保存读取模型实例
2019/12/30 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
Python实现查找数据库最接近的数据
2020/06/08 Python
Django和Ueditor自定义存储上传文件的文件名
2021/02/25 Python
瑞士图书网站:Weltbild.ch
2019/09/17 全球购物
利用指针变量实现队列的入队操作
2012/04/07 面试题
效能监察建议书
2014/05/19 职场文书
学校就业推荐信范文
2014/05/19 职场文书