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面向对象全攻略 (十二) 抽象方法和抽象类
Sep 30 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
Aug 09 PHP
php适配器模式介绍
Aug 14 PHP
PHP无限分类(树形类)的深入分析
Jun 02 PHP
利用中国天气预报接口实现简单天气预报
Jan 20 PHP
简单介绍PHP的责任链编程模式
Aug 11 PHP
深入了解PHP中的Array数组和foreach
Nov 06 PHP
PHP对象实例化单例方法
Jan 19 PHP
Laravel中如何增加自定义全局函数详解
May 09 PHP
PHP实现Redis单据锁以及防止并发重复写入
Apr 10 PHP
php微信开发之图片回复功能
Jun 14 PHP
PHP实现唤起微信支付功能
Feb 18 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侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
2009/10/15 PHP
PHP获取数组长度或某个值出现次数的方法
2015/02/11 PHP
PHP压缩图片功能的介绍
2019/03/21 PHP
子窗口、父窗口和Silverlight之间的相互调用
2010/08/16 Javascript
原生JavaScript实现滚动条效果
2020/03/24 Javascript
JavaScript:Date类型全面解析
2016/05/19 Javascript
js实现横向拖拽导航条功能
2017/02/17 Javascript
Angular弹出模态框的两种方式
2017/10/19 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
2018/03/19 Javascript
Vuex新手的理解与使用详解
2019/05/31 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
2020/05/12 Javascript
python33 urllib2使用方法细节讲解
2013/12/03 Python
python获取从命令行输入数字的方法
2015/04/29 Python
Python中的Descriptor描述符学习教程
2016/06/02 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
python和flask中返回JSON数据的方法
2018/03/26 Python
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
一百多行python代码实现抢票助手
2018/09/25 Python
浅析Python 实现一个自动化翻译和替换的工具
2019/04/14 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
2019/09/25 Python
Python opencv相机标定实现原理及步骤详解
2020/04/09 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
针对HTML5的Web Worker使用攻略
2015/07/12 HTML / CSS
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
幼儿教师研修感言
2014/02/12 职场文书
知名企业招聘广告词大全
2014/03/18 职场文书
公司股权转让协议书
2014/04/12 职场文书
青春励志演讲稿
2014/04/29 职场文书
护理专业求职信
2014/06/15 职场文书
大学生党员个人总结
2015/02/13 职场文书
2015年学校远程教育工作总结
2015/07/20 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
教你怎么用Python生成九宫格照片
2021/05/20 Python