我有网站
example.com
和cname子域
static.example.com
用于css / js / img文件,在标题
中加载没有cookie即时使用codeigniter设置cookies,config.php
$cookie = array(
'name' => 'lang',
'value' => $lang,
'expire' => '86500',
'path' => '/',
'secure' => FALSE
);
set_cookie($cookie);
但是当我打开Google Chrome控制台时,它会将Cookie设置为 .example.com
一切都好吗?我的意思是这个cookie是为子域设置的吗?
我正在使用codeigniter内置cookie,我用自动加载器帮助器加载它。
并设置像这样的cookie
{{1}}
答案 0 :(得分:0)
是的,这应该没问题。域上的初始.
表示cookie适用于域和所有子域。如果Cookie域只是example.com
,则不适用于static.example.com
。看到
What does the dot prefix in the cookie domain mean?
答案 1 :(得分:0)
您通常应使用第二个域名(例如,Stack Exchange使用sstatic.net
)。当你控制自己的cookie时,如果你正在使用谷歌分析这样的东西,他们通常会尽可能地设置cookie,你最终会把它当作一个煮熟的域。
答案 2 :(得分:0)
在.domain.com
上设置Cookie时,它对所有sudomains都有效。
如果您确实需要这样做,则必须使用www.domain.com
并为www.domain.com
明确设置Cookie
如果您有多个网站并且想要此功能,则可以注册另一个域名somecdn-lookalike-name.com
,仅提供静态内容(使用nginx),并且因为您在.domain.com
上设置了Cookie,您的新域名名字不会有任何。