PHP通过session id 实现session共享和登录验证的代码


Posted in PHP onJune 03, 2012

先说说,这个机制的用途吧,到现在为止战地知道这个机制有两个方面的用途:

首先,多服务器共享session问题,这个大家应该都能够理解的,当一个网站的用户量过大,就会使用服务器集群,例如专门有一个登录用的服务器。用户通过登录服务器登录之后,登录服务器保存了用户的登录信息session,而其他受访问的服务器,例如电影服务器没有这个session,那么我们就要通过一个session的唯一标识来共享这个session了——具体session的共享超出了本文的范围,请自行查阅资料。

第二个用途就是,验证同一用户的不同会话,这个比较难理解。这样说吧,一个用户并非通过浏览器来请求连接,而是通过socket或者其它方式来请求数据的时候,我们首先要对他进行用户登录验证,验证成功之后,就下发一个sessionid给他,然后他每次请求的时候就携带这个sessionid,我们通过这个sessionid来判断session是否已经存在,如果存在我们就认定用户已经登录……

对于第一个问题,我们可以把sessionid保存在数据库中得以实现,这个方法比较安全而且应用广泛,但是不是我们讨论的范围哦

第二个问题,其实已经很简单了,看一下代码

首先验证的时候产生一个sessionid;

<?php 
Session_start(); 
$sessionId = session_id();//得到sessionid 
//将session下发给客户端 
......... 
?>

客户端携带sessionid这个变量来请求数据
<?php 
Session_id(‘$sessionid');//注意这个时候session_id()这个函数是带有参数的 
Session_start();//这个函数必须在session_id()之后 
?>

这个时候session已经是登录验证时候的session了。
注意:在sessionServer.php中如果使用thinkphp等其他自动启动session_start();函数的框架时,必须先调用session_destory()函数来清空session。
PHP 相关文章推荐
随机头像PHP版
Oct 09 PHP
php 文章调用类代码
Aug 11 PHP
PHP运行环境配置与开发环境的配置(图文教程)
Jun 04 PHP
php向js函数传参的几种方法
Aug 10 PHP
PHP中变量引用与变量销毁机制分析
Nov 15 PHP
php递归调用删除数组空值元素的方法
Apr 28 PHP
在Mac上编译安装PHP7的开发环境
Jul 28 PHP
php面向对象值单例模式
May 03 PHP
如何使用php等比例缩放图片
Oct 12 PHP
Yii2中添加全局函数的方法分析
May 04 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
Jun 02 PHP
PHP赋值的内部是如何跑的详解
Jan 13 PHP
PHP中设置时区方法小结
Jun 03 #PHP
php 函数中使用static的说明
Jun 01 #PHP
PHP number_format() 函数定义和用法
Jun 01 #PHP
分享一个PHP数据流应用的简单例子
Jun 01 #PHP
检查php文件中是否含有bom的函数
May 31 #PHP
php注销代码(session注销)
May 31 #PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
May 31 #PHP
You might like
PHP无刷新上传文件实现代码
2011/09/19 PHP
phpphp图片采集后按原路径保存图片示例
2014/02/18 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
2017/02/15 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
非常不错的功能强大代码简单的管理菜单美化版
2008/07/09 Javascript
javascript 嵌套的函数(作用域链)
2010/03/15 Javascript
jquery sortable的拖动方法示例详解
2014/01/16 Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
2014/06/23 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
2015/06/14 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
2015/12/11 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
2016/12/25 Javascript
JavaScript通过mouseover()实现图片变大效果的示例
2017/12/20 Javascript
解决linux下node.js全局模块找不到的问题
2018/05/15 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
浅谈Vue.js路由管理器 Vue Router
2018/08/16 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
vue中当图片地址无效的时候,显示默认图片的方法
2018/09/18 Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
2018/10/02 Javascript
在Vue项目中引入JQuery-ui插件的讲解
2019/01/27 jQuery
vue基础之使用get、post、jsonp实现交互功能示例
2019/03/12 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
微信小程序实现搜索功能并跳转搜索结果页面
2019/05/18 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
使用Python的Twisted框架编写非阻塞程序的代码示例
2016/05/25 Python
Python进行数据提取的方法总结
2016/08/22 Python
Python实现对特定列表进行从小到大排序操作示例
2019/02/11 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
python开发一个解析protobuf文件的简单编译器
2020/11/17 Python
html5画布旋转效果示例
2014/01/27 HTML / CSS
Shell编程面试题
2016/05/29 面试题
书法大赛策划方案
2014/06/04 职场文书
学生评语集锦
2015/01/04 职场文书
初中班主任教育随笔
2015/08/15 职场文书