【问题标题】:ZEND2: Cross domain sessionZEND2:跨域会话
【发布时间】:2017-09-01 13:09:46
【问题描述】:

我正在尝试在子域上使用会话数据。

前:

www.mywebsite.com

test.mywebsite.com

当我尝试使用从 www.mywebsite.com 到子域的会话数据时,所有会话信息都无法访问。

设置会话

public function homeAction($value='')
{
    $domain = eregi_replace('^WWW', '', "$_SERVER[HTTP_HOST]");
    $subdomain = substr($domain,0);

    $request = $this->getRequest()->getHeaders()->get('Set-Cookie')->foo = 'bar';
    $response = $this->getResponse()->getCookie()->baz = 'test';


    $userSession = new Container('userinfo');
    $userSession->email = 'admin@admin.in'; // write session 
    $userSession->password = 'e10adc3949ba59abbe56e057f20f883eaa';

    $dmn_link = 'http://app'    . $subdomain . '/auth';
    $www_link = 'http://www' . $domain . '/career';

    echo "<br/><a target=\"_blank\" href=\"$www_link\">$www_link</a>\n";
    echo "<br/><a target=\"_blank\" href=\"$dmn_link\">$dmn_link</a>\n";


    echo "<pre>";

    print_r($_COOKIE);

    print_r($_SESSION);
}

在主页 HomeAction 中打印同一域中的会话

Array
(
    [PHPSESSID] => pgguqil2e87h0hn3risov330m3
    [_ga] => GA1.2.1895217383.1504264473
    [_gid] => GA1.2.1845702714.1504264473
    [__zlcmid] => iIgiLC7vUKt6CC
)
Array
(
    [__ZF] => Array
        (
            [_REQUEST_ACCESS_TIME] => 1504271027.5384
        )

    [userinfo] => Zend\Stdlib\ArrayObject Object
        (
            [storage:protected] => Array
                (
                    [email] => admin@admin.in
                    [password] => e10adc3949ba59abbe56e057f20f883eaa
                )

            [flag:protected] => 2
            [iteratorClass:protected] => ArrayIterator
            [protectedProperties:protected] => Array
                (
                    [0] => storage
                    [1] => flag
                    [2] => iteratorClass
                    [3] => protectedProperties
                )

        )

)

当我尝试使用子域上的数据时无法获取会话数据

【问题讨论】:

标签: php session cookies zend-framework2 session-cookies


【解决方案1】:

您应该考虑使用 cookie 或在其他域的 url 中包含参数。

为您的参考。看这里Cross-Domain Cookies

Cross domain PHP Sessions

这可能会有所帮助:Secure and Flexible Cross-Domain Sessions

【讨论】:

    猜你喜欢
    • 2010-11-23
    • 2017-03-14
    • 2014-10-19
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 2011-01-07
    • 2014-09-25
    相关资源
    最近更新 更多