get(); 如果我返回 base64_decoded 有效负载: -6ren">
gpt4 book ai didi

php - Laravel session 表列 "payload"包含什么,我如何访问这些数据?

转载 作者:行者123 更新时间:2023-12-02 03:18:35 25 4
gpt4 key购买 nike

我从本地的 session 表中获取了唯一的值,我是唯一的登录用户。

$data = DB::table('sessions')->get();

如果我返回 base64_decoded 有效负载:
    return  base64_decode($data[0]->payload);

我得到了看起来像加密的 json 的东西。
a:5:{s:6:"_token";s:40:"IlIvr7p3qxeMRg0NxSaITHvIZ1c2HGCh5QSj8wIG";s:9:"_previous";a:1:{s:3:"url";s:28:"http://mytestsite.dev/index.php";}s:5:"flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}s:8:"class_id";s:2:"14";s:9:"_sf2_meta";a:3:{s:1:"u";i:1453341204;s:1:"c";i:1453331047;s:1:"l";s:1:"0";}}

是否有一种安全的方法来解密此 JSON 以使用 Laravel 方法检索用户 ID?

进一步调查可能是 session 表不包含用户信息,它只是用来匹配浏览器cookie?

如果是这种情况,我的最终问题是如何合理地确定哪些用户当前登录,而无需在每次加载页面时不断在用户记录上创建更新/插入,如此处所建议的: Can someone explain session table laravel

_________________________更新

好的,从我的进一步研究中,我发现浏览器中的 cookie 是 session 记录的加密 ID。
        return Crypt::decrypt($cookie);

这留下了最后一个问题,有效载荷列包含什么?

最佳答案

在您拥有有效负载后使用它,它将向您显示 json 对象。

print_r(unserialize(base64_decode($datas->payload))); 
dd(unserialize(base64_decode($datas->payload)));

关于php - Laravel session 表列 "payload"包含什么,我如何访问这些数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34931845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com