栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

用PHP遍历服务器的所有会话

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用PHP遍历服务器的所有会话

PHP将每个用户的会话数据存储在服务器上的临时文件夹中。该文件夹在php.ini配置文件中的session.save_path变量下定义。从您的php.ini文件中找到此值,或者使用以下方法创建一个php文件:

<?php echo "Session Save Path: " . ini_get( 'session.save_path');?>

内容,然后在浏览器中打开文件。

找到会话数据的保存路径后,打开该文件夹,您会注意到一个相当简单的结构。所有会话均以以下格式存储:sess_ $ SESSIONID。

会话数据在存储到磁盘之前先进行序列化。这样,存储在会话文件中的对象在使用之前必须进行反序列化。但是,如果您使用的是按原样存储的纯文本来存储会话数据(例如

$_SESSION['userid']= 1234
)以存储有关用户的信息,那么应该足够容易地从内部解析出您要查找的数据文件。

还有一件事……我还没有研究它,但是看起来好像文件名中出现的会话ID直接对应于例如存储在用户计算机上的PHPSESSID
cookie的名称。因此,考虑到这一点,可能可以遍历临时会话目录中的文件,获取所有$
SESSIONID值,使用设置当前会话ID,使用

session_id($SESSIONID)
开始会话
session_start()
并通过PHP访问所需的数据,而无需来解析内容文件本身。谁能确认这是否可能?

编辑: 调整后的帖子以匹配Itay的评论。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/615475.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号