找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1050|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2560

主题

2560

帖子

7622

积分

论坛元老

Rank: 8Rank: 8

积分
7622
跳转到指定楼层
楼主
发表于 2018-2-14 08:28:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            先说说,这个机制的用途吧,到现在为止战地知道这个机制有两个方面的用途:
首先,多服务器共享session问题,这个大家应该都能够理解的,当一个网站的用户量过大,就会使用服务器集群,例如专门有一个登录用的服务器。用户通过登录服务器登录之后,登录服务器保存了用户的登录信息session,而其他受访问的服务器,例如电影服务器没有这个session,那么我们就要通过一个session的唯一标识来共享这个session了——具体session的共享超出了本文的范围,请自行查阅资料。
第二个用途就是,验证同一用户的不同会话,这个比较难理解。这样说吧,一个用户并非通过浏览器来请求连接,而是通过socket或者其它方式来请求数据的时候,我们首先要对他进行用户登录验证,验证成功之后,就下发一个sessionid给他,然后他每次请求的时候就携带这个sessionid,我们通过这个sessionid来判断session是否已经存在,如果存在我们就认定用户已经登录……
对于第一个问题,我们可以把sessionid保存在数据库中得以实现,这个方法比较安全而且应用广泛,但是不是我们讨论的范围哦
第二个问题,其实已经很简单了,看一下代码
首先验证的时候产生一个sessionid;
[U]复制代码[/U] 代码如下:


客户端携带sessionid这个变量来请求数据
[U]复制代码[/U] 代码如下:


这个时候session已经是登录验证时候的session了。
注意:在sessionServer.php中如果使用thinkphp等其他自动启动session_start();函数的框架时,必须先调用session_destory()函数来清空session。
            
            
您可能感兴趣的文章:
  • PHP中session使用方法详解
  • PHP中怎样保持SESSION不过期 原理及方案介绍
  • PHP Session 变量的使用方法详解与实例代码
  • php Session存储到Redis的方法
  • PHP中session变量的销毁
  • PHP中Session引起的脚本阻塞问题解决办法
  • php中实现精确设置session过期时间的方法
  • PHP会话控制:Session与Cookie详解
  • ThinkPHP中Session用法详解
  • PHP session文件独占锁引起阻塞问题解决方法
  • php中session_id()函数详细介绍,会话id生成过程及session id长度
  • PHP编程中的Session阻塞问题与解决方法分析
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端