0

Cookies is PHP で問題が発生しています。Localhost では、Cookie が削除されていないようで、ユーザーは WWW.somesite.com 経由でログインしたままですが、ログアウトは SOMESITE.com で機能します。

これは、Cookie の設定/設定解除を処理するコードです。

public static function cookie($name, $value){

    $host = apache_request_headers();

    $host = $host['Host'];

    $host = explode('.', $host);

    $count = count($host);

    if($count >= 2) {
        $host = ($host[0] == 'test') ? 'test.' . $host[$count - 2] . "." . $host[$count - 1] : $host[$count - 2] . "." . $host[$count - 1];
    } else {
        $host = $host[0];
    }

    //$host = explode(':', $host);
    //$host = $host[0];

    //Core::prnt($host);

    if($value === NULL) {

        setcookie($name, $value, time() - Options::getSetting('U_SESSION_TIMEOUT'), '/', $host);

        Core::prnt($_COOKIE);

        return;

    }

    setcookie($name, $value, time() + Options::getSetting('U_SESSION_TIMEOUT'), '/', $host);

}

私が間違っていることについてのアイデアは非常に役に立ちます。

4

1 に答える 1

0

この関数の $host と、Cookie を消去する場所の計算が同じであることを確認してください。

server.comと の間でCookie を共有したい場合は、www.server.com必ず$hostで始めてください。..server.com

于 2013-05-03T23:12:27.643 に答える