子域名的 Cookie

出於安全原因,預設情況下,cookie 只能在設定它們的同一域中訪問。例如,如果你在域 example.com 上設定了 cookie,則無法在域 www.example.com 上獲取它。因此,如果你計劃使用子域(即 admin.example.com,profile.example.com),則需要明確設定 domain

$cookie = new Cookie([
    'name' => 'cookie_monster',
    'value' => 'Me want cookie everywhere!',
    'expire' => time() + 86400 * 365,
    'domain' => '.example.com' // <<<=== HERE
]);
\Yii::$app->getResponse()->getCookies()->add($cookie);

現在可以從 example.com 的所有子域中讀取 cookie。