【问题标题】:Read Laravel session from native PHP从原生 PHP 读取 Laravel 会话
【发布时间】:2014-09-01 20:27:06
【问题描述】:

我的主域上有 Laravel 4 应用,子域上有原生 PHP 应用,但我需要它们共享会话。

我曾尝试在 Laravel 4 app/config/session.php 中这样做:

'driver' => 'cookie', // i have also tried native

'cookie' => 'puskice_session',
'path' => '/',
'domain' => '.mysite.com'

因此,当我尝试使用 native 并使用 var_dump($_SESSION); 转到原生 PHP 时,我得到了

Notice: Undefined variable: _SESSION 

当我切换到cookie 时,我可以执行var_dump($_COOKIE['laravel_session']);,但我得到了加密会话。

有没有办法做到这一点?我还应该提一下,我有另一个带有另一个 Laravel 4 应用程序的子域,它可以在 Laravel 4 应用程序之间工作,但不适用于本机。

【问题讨论】:

    标签: php session laravel laravel-4


    【解决方案1】:

    Laravel Cookie 值实际上并未加密,只是经过 base64 编码,因此(例如)会话值为

    eyJpdiI6Ik5adGdiU1MxT1cybEprbjFvZzg1OCtOMnRabm44Q0o3NGd5SjJVbUF3THM9IiwidmFsdWUiOiJFZ2hpNENIenhoWktwMjhkRTVaKzBKMjFPT1wvNGs2VENtQTB0Z1l2SWtBb1U1UFdsRmdRNFZmVjdGc3NkbFIyNHNSUnk4NjIreDRNS0tcL0dcL2dyTnJUZz09IiwibWFjIjoiYjc5N2U5YzM0ODQyYTY4YzkxNDgzNzM1OWZlZWQ4ODk3NjA3N2YxNmExMTY2ZTRjNDc2MGMzNzg2ZjhhMmZkYSJ9 
    

    可以base64解码得到

    {"iv":"NZtgbSS1OW2lJkn1og858+N2tZnn8CJ74gyJ2UmAwLs=","value":"Eghi4CHzxhZKp28dE5Z+0J21OO\/4k6TCmA0tgYvIkAoU5PWlFgQ4VfV7FssdlR24sRRy862+x4MKK\/G\/grNrTg==","mac":"b797e9c34842a68c914837359feed88976077f16a1166e4c4760c3786f8a2fda"} 
    

    也许对你有帮助

    【讨论】:

    • 我的 cookie 中的值类似于 de2a711c6323bd342ef6207a76b95bbd。当它转到base64decode 时,它什么都没有
    • de2a711c6323bd342ef6207a76b95bbd 不会是标准的 laravel 会话 cookie 值....看起来更像是标准的 PHP(md5 哈希)会话 cookie 值
    猜你喜欢
    • 1970-01-01
    • 2015-08-04
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-13
    • 2019-02-10
    • 2012-06-25
    相关资源
    最近更新 更多