【发布时间】:2016-05-07 07:35:37
【问题描述】:
我正在制作一个面板,它将使用来自另一个论坛的会话数据来授予它权限。基本上,当用户登录我们的论坛并在论坛上创建会话和信任时,他们可以单击面板,面板将检查他们的浏览器 cookie 中的会话 ID 和信任 ID。然后它获取该信任 ID 并检查论坛的数据库中与该信任关联的用户 ID。然后获取会话 ID 并验证它是否属于该用户 ID。问题是,当我获得会话 ID 时,关联的用户 ID 是我必须强制转换才能从字段中获取数据的 blob 的一部分。所以我得到这样的结果:
('7c64c90413beb7d139c64ccc8b13380b',
'a:12:{s:12:"sessionStart";i:1454075264;s:2:"ip";s:4:"b???";s:11:"sessionCsrf";s:16:"-2Yx13nBLdstUj4H";
s:7:"user_id";i:20;
s:13:"password_date";i:1453353041;s:16:"previousActivity";i:1454072099;s:13:"trophyChecked";b:1;s:16:"promotionChecked";b:1;s:16:"dismissedNotices";a:0:{}s:15:"lastNoticeReset";i:0;s:13:"canAdminUsers";b:1;s:20:"userModerationCounts";a:2:{s:5:"total";i:0;s:13:"lastBuildDate";i:1454075264;}}'),
我知道那里有很多内容,但我挑出了对我很重要的部分。返回的第一列是会话 id,我用它来验证用户 id,但用户 id 位于第二列中所有废话的中间。所以你可以看到我在哪里挑出定义,我想做的只是将“user_id;i:”之后的“20”分配给一个变量,然后丢弃其余的。我确信这很简单,但在这一点上,我想我只是把它拿出来并旋转轮子。我在想爆炸,但该数据的结构似乎不是一个选项。
【问题讨论】: