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之apc
May 15 PHP
如何用php获取文件名后缀
Jun 09 PHP
关于PHPDocument 代码注释规范的总结
Jun 25 PHP
ubuntu12.04使用c编写php扩展模块教程分享
Dec 25 PHP
php通过修改header强制图片下载的方法
Mar 24 PHP
PHP使用PDO操作数据库的乱码问题解决方法
Apr 08 PHP
PHP实现QQ登录的开原理和实现过程
Feb 04 PHP
PHP ADODB实现事务处理功能示例
May 25 PHP
php字符串过滤strip_tags()函数用法实例分析
Jun 24 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
Apr 06 PHP
实例化php类时传参的方法分析
Jun 05 PHP
详解Laravel框架的依赖注入功能
May 27 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
利用 window_onload 实现select默认选择
2006/10/09 PHP
解析PayPal支付接口的PHP开发方式
2010/11/28 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
PHP获取路径和目录的方法总结【必看篇】
2017/03/04 PHP
JavaScript 变量作用域分析
2011/07/04 Javascript
动态改变div的z-index属性的简单实例
2013/08/08 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
全面解析bootstrap格子布局
2016/05/22 Javascript
Angular2入门--架构总览
2017/03/29 Javascript
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
2017/07/19 jQuery
基于vue 开发中出现警告问题去除方法
2018/01/25 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
微信小程序自定义toast弹窗效果的实现代码
2018/11/15 Javascript
ionic4+angular7+cordova上传图片功能的实例代码
2019/06/19 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
python单线程实现多个定时器示例
2014/03/30 Python
Python编程中的反模式实例分析
2014/12/08 Python
Python字符串处理函数简明总结
2015/04/13 Python
K-近邻算法的python实现代码分享
2017/12/09 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
2018/01/17 Python
详解Python的数据库操作(pymysql)
2019/04/04 Python
python中操作文件的模块的方法总结
2021/02/04 Python
Lacoste澳大利亚官网:服装、鞋类及配饰
2018/11/14 全球购物
惠而浦美国官网:Whirlpool.com
2021/01/19 全球购物
大学在校生求职信范文
2013/11/21 职场文书
应届生的求职推荐信范文
2013/11/30 职场文书
医学检验专业个人求职信范文
2013/12/04 职场文书
普通大学毕业生自荐信范文
2014/02/23 职场文书
公司运动会策划方案
2014/05/25 职场文书
国际商贸专业自荐信
2014/06/09 职场文书
文秘应届生求职信
2014/07/05 职场文书
个人借条范本
2015/05/25 职场文书
导游词之崇武古城
2019/10/07 职场文书