子域名的 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。